Part Number Hot Search : 
11710 88XS38D IDTQS3VH 74LS112N 1608X7R ZMC10D 00002 MS470
Product Description
Full Text Search
 

To Download MC68HC11A8BMP2 Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
  motorola reserves the right to make changes without further notice to any products herein. motorola makes no warranty, representation or guarantee regarding the suitability of its products for any particular purpose, nor does motorola assume any liability arising out of the application or use of any product or circuit, and specifically disclaims any and all liability, including without limitation consequential or incidental damages. "typical" parameters can and do vary in different applications. all operating parameters, including "typicals" must be validated for each customer application by customer's technical experts. motorola does not convey any license under its patent rights nor the rights of others. motorola products are not designed, intended, or authorized for use as components in systems intended for surgical implant into the body, or other applications intended to support or sustain life, or for any other application in which the failure of the motorola product could create a situation where personal injury or death may occur. should buyer purchase or use motorola products for any such unintended or unauthorized application, buyer shall indemnify and hold motorola and its officers, employees, subsidiaries, affiliates, and distributors harmless against all claims, costs, damages, and expenses, and reasonable attorney fees arising out of, directly or indirectly, any claim of personal injury or death associated with such unintended or unauthorized use, even if such claim alleges that motorola was negligent regarding the design or manufacture of the part. motorola and the motorola logo are registered trademarks of motorola, inc. motorola, inc. is an equal opportunity/affirmative action employer. ?motorola, inc. 1996 mc68hc11a8 hcmos single-chip microcontroller
motorola reserves the right to make changes without further notice to any products herein. motorola makes no warranty, representation or guarantee regarding the suitability of its products for any particular purpose, nor does motorola assume any liability arising out of the application or use of any product or circuit, and specifically disclaims any and all liability, including without limitation consequential or incidental damages. "typical" parameters can and do vary in different applications. all operating parameters, including "typicals" must be validated for each customer application by customer's technical experts. motorola does not convey any license under its patent rights nor the rights of others. motorola products are not designed, intended, or authorized for use as components in systems intended for surgical implant into the body, or other applications intended to support or sustain life, or for any other application in which the failure of the motorola product could create a situation where personal injury or death may occur. should buyer purchase or use motorola products for any such unintended or unauthorized application, buyer shall indemnify and hold motorola and its officers, employees, subsidiaries, affiliates, and distributors harmless against all claims, costs, damages, and expenses, and reasonable attorney fees arising out of, directly or indirectly, any claim of personal injury or death associated with such unintended or unauthorized use, even if such claim alleges that motorola was negligent regarding the design or manufacture of the part. motorola and the motorola logo are registered trademarks of motorola, inc. motorola, inc. is an equal opportunity/affirmative action employer. ?motorola, inc. 1996
mc68hc11a8 motorola technical data iii table of contents paragraph page number title number 1 introduction 1.1 features .................................................................................................... 1-1 1.1.1 hardware features ............................................................................ 1-1 1.1.2 software features ............................................................................. 1-1 1.2 general description ................................................................................... 1-1 1.3 programmer? model ................................................................................. 1-2 1.4 summary of m68hc11 family .................................................................. 1-3 2 signal descriptions and operating modes 2.1 signal pin descriptions ............................................................................. 2-1 2.1.1 input power (v dd ) and ground (v ss ) ................................................ 2-1 2.1.2 reset (reset) .................................................................................. 2-1 2.1.3 crystal driver and external clock input (xtal, extal) ................... 2-1 2.1.4 e clock output (e) ............................................................................ 2-3 2.1.5 interrupt request (irq) ..................................................................... 2-3 2.1.6 non-maskable interrupt (xirq) ......................................................... 2-3 2.1.7 mode a/load instruction register and mode b/standby voltage (moda/ lir, modb/v stby ) 2-3 2.1.8 a/d converter reference voltages (v rl , v rh ) ................................. 2-4 2.1.9 strobe b and read/write (strb/r/w) ............................................. 2-4 2.1.10 strobe a and address strobe (stra/as) ......................................... 2-4 2.1.11 port signals ....................................................................................... 2-4 2.1.11.1 port a ........................................................................................ 2-5 2.1.11.2 port b ........................................................................................ 2-5 2.1.11.3 port c ........................................................................................ 2-5 2.1.11.4 port d ........................................................................................ 2-5 2.1.11.5 port e ........................................................................................ 2-6 2.2 operating modes ....................................................................................... 2-6 2.2.1 single-chip operating mode ............................................................. 2-6 2.2.2 expanded multiplexed operating mode ............................................ 2-6 2.2.3 special bootstrap operating mode ................................................... 2-8 2.2.4 additional boot loader program options ........................................ 2-10 2.2.5 special test operating mode .......................................................... 2-10 3 on-chip memory 3.1 memory maps ............................................................................................ 3-1 3.2 ram and i/o mapping register (init) ...................................................... 3-4 3.3 rom .......................................................................................................... 3-5 3.4 ram .......................................................................................................... 3-5 3.5 eeprom ................................................................................................... 3-5 3.5.1 eeprom programming control register (pprog) ......................... 3-6
motorola mc68hc11a8 iv technical data 3.5.2 programming/erasing internal eeprom .......................................... 3-7 3.5.2.1 read .......................................................................................... 3-7 3.5.2.2 programming ............................................................................. 3-7 3.5.2.3 bulk erase ................................................................................. 3-8 3.5.2.4 row erase ................................................................................. 3-8 3.5.2.5 byte erase ................................................................................. 3-9 3.5.3 system configuration register (config) ........................................ 3-9 3.5.3.1 programming and erasure of the config register ............... 3-10 3.5.3.2 operation of the configuration mechanism ............................. 3-12 4 parallel i/o 4.1 general-purpose i/o (ports c and d) ....................................................... 4-1 4.2 fixed direction i/o (ports a, b, and e) ...................................................... 4-1 4.3 simple strobed i/o .................................................................................... 4-2 4.3.1 strobed input port c .......................................................................... 4-2 4.3.2 strobed output port b ....................................................................... 4-2 4.4 full handshake i/o .................................................................................... 4-2 4.4.1 input handshake protocol ................................................................. 4-3 4.4.2 output handshake protocol .............................................................. 4-3 4.5 parallel i/o control register (pioc) ......................................................... 4-4 5 serial communications interface 5.1 overview and features ............................................................................. 5-1 5.1.1 sci two-wire system features ........................................................ 5-1 5.1.2 sci receiver features ...................................................................... 5-1 5.1.3 sci transmitter features .................................................................. 5-1 5.2 data format .............................................................................................. 5-1 5.3 wake-up feature ...................................................................................... 5-2 5.4 receive data (rxd) .................................................................................. 5-2 5.5 start bit detection ..................................................................................... 5-3 5.6 transmit data (txd) .................................................................................. 5-5 5.7 functional description ............................................................................... 5-5 5.8 sci registers ............................................................................................ 5-5 5.8.1 serial communications data register (scdr) ................................. 5-6 5.8.2 serial communications control register 1 (sccr1) ........................ 5-8 5.8.3 serial communications control register 2 (sccr2) ........................ 5-8 5.8.4 serial communications status register (scsr) ............................ 5-10 5.8.5 baud rate register (baud) ............................................................ 5-11 6 serial peripheral interface 6.1 overview and features ............................................................................. 6-1 6.2 spi signal descriptions ............................................................................. 6-1 6.2.1 master in slave out (miso) .............................................................. 6-1 6.2.2 master out slave in (mosi) .............................................................. 6-1 6.2.3 serial clock (sck) ............................................................................ 6-2
mc68hc11a8 motorola technical data v 6.2.4 slave select (ss) .............................................................................. 6-2 6.3 functional description ............................................................................... 6-3 6.4 spi registers ............................................................................................ 6-4 6.4.1 serial peripheral control register (spcr) ....................................... 6-4 6.4.2 serial peripheral status register (spsr) ......................................... 6-5 6.4.3 serial peripheral data l/o register (spdr) ...................................... 6-6 7 analog-to-digital converter 7.1 conversion process .................................................................................. 7-1 7.2 channel assignments ............................................................................... 7-1 7.3 single-channel operation ......................................................................... 7-2 7.4 multiple-channel operation ....................................................................... 7-2 7.5 operation in stop and wait modes ....................................................... 7-3 7.6 a/d control/status register (adctl) ....................................................... 7-3 7.7 a/d result registers 1, 2, 3, and 4 (adr1, adr2, adr3, and adr4) .... 7-5 7.8 a/d power-up and clock select ............................................................... 7-5 8 programmable timer, rti, and pulse accumulator 8.1 programmable timer ................................................................................. 8-1 8.1.1 counter .............................................................................................. 8-1 8.1.2 input capture ..................................................................................... 8-1 8.1.3 output compare ................................................................................ 8-2 8.1.4 output compare 1 i/o pin control .................................................... 8-2 8.1.5 timer compare force register (cforc) ......................................... 8-3 8.1.6 output compare 1 mask register (oc1m) ....................................... 8-3 8.1.7 output compare 1 data register (oc1d) ........................................ 8-4 8.1.8 timer control register 1 (tctl1) ..................................................... 8-4 8.1.9 timer control register 2 (tctl2) ..................................................... 8-5 8.1.10 timer interrupt mask register 1 (tmsk1) ........................................ 8-5 8.1.11 timer interrupt flag register 1 (tflg1) ........................................... 8-5 8.1.12 timer interrupt mask register 2 (tmsk2) ........................................ 8-6 8.1.13 timer interrupt flag register 2 (tflg2) ........................................... 8-7 8.2 real-time interrupt ................................................................................... 8-8 8.3 pulse accumulator .................................................................................... 8-8 8.3.1 pulse accumulator control register (pactl) .................................. 8-8 9 resets, interrupts, and low power modes 9.1 resets ....................................................................................................... 9-1 9.1.1 external reset pin .......................................................................... 9-1 9.1.2 power-on reset ................................................................................ 9-1 9.1.2.1 cpu ........................................................................................... 9-2 9.1.2.2 memory map ............................................................................. 9-3 9.1.2.3 parallel l/o ................................................................................. 9-3 9.1.2.4 timer ......................................................................................... 9-3 9.1.2.5 real-time interrupt ................................................................... 9-4
motorola mc68hc11a8 vi technical data 9.1.2.6 pulse accumulator .................................................................... 9-4 9.1.2.7 cop .......................................................................................... 9-4 9.1.2.8 sci serial l/o ............................................................................ 9-4 9.1.2.9 spi serial l/o ............................................................................. 9-4 9.1.2.10 a/d converter ........................................................................... 9-4 9.1.2.11 system ...................................................................................... 9-4 9.1.3 computer operating properly (cop) reset ...................................... 9-5 9.1.4 clock monitor reset .......................................................................... 9-6 9.1.5 configuration options register (option) ........................................ 9-6 9.2 interrupts ................................................................................................... 9-7 9.2.1 software interrupt (swi) .................................................................... 9-9 9.2.2 illegal opcode trap ........................................................................... 9-9 9.2.3 interrupt mask bits in condition code register ................................ 9-9 9.2.4 priority structure .............................................................................. 9-10 9.2.5 highest priority i interrupt register (hprio) .................................. 9-10 9.3 low-power modes ................................................................................... 9-17 9.3.1 wait instruction .............................................................................. 9-17 9.3.2 stop instruction ............................................................................. 9-17 10 cpu, addressing modes, and instruction set 10.1 cpu registers ......................................................................................... 10-1 10.1.1 accumulators a and b ..................................................................... 10-1 10.1.2 index register x (ix) ....................................................................... 10-1 10.1.3 index register y (iy) ....................................................................... 10-2 10.1.4 stack pointer (sp) ........................................................................... 10-2 10.1.5 program counter (pc) .................................................................... 10-2 10.1.6 condition code register (ccr) ...................................................... 10-2 10.1.6.1 carry/borrow (c) ..................................................................... 10-3 10.1.6.2 overflow (v) ............................................................................ 10-3 10.1.6.3 zero (z) ................................................................................... 10-3 10.1.6.4 negative (n) ............................................................................ 10-3 10.1.6.5 interrupt mask (i) ..................................................................... 10-3 10.1.6.6 half carry (h) .......................................................................... 10-3 10.1.6.7 x interrupt mask (x) ................................................................ 10-3 10.1.6.8 stop disable (s) ...................................................................... 10-3 10.2 addressing modes ................................................................................... 10-3 10.2.1 immediate addressing ..................................................................... 10-4 10.2.2 direct addressing ............................................................................ 10-4 10.2.3 extended addressing ...................................................................... 10-4 10.2.4 indexed addressing ......................................................................... 10-4 10.2.5 inherent addressing ........................................................................ 10-4 10.2.6 relative addressing ........................................................................ 10-4 10.2.7 prebyte ............................................................................................ 10-5 10.3 instruction set ......................................................................................... 10-5 a electrical characteristics
mc68hc11a8 motorola technical data vii b mechanical data and ordering information b.1 pin assignments ....................................................................................... b-1 b.2 package dimensions ................................................................................ b-3 c development support c.1 m68hc11evb ?evaluation board ......................................................... c-1 c.1.1 evb features ................................................................................... c-1 c.2 m68hc11evbu ?universal evaluation board ...................................... c-1 c.2.1 evbu features ................................................................................ c-1 c.3 m68hc11evm ?evaluation module ...................................................... c-2 c.3.1 evm features .................................................................................. c-2 c.4 mmds11 ?modular development system ............................................. c-2 c.4.1 mmds11features ............................................................................ c-3 summary of changes
motorola mc68hc11a8 viii technical data
mc68hc11a8 motorola technical data ix list of illustrations figure page 1-1 block diagram ................................................................................................ 1-2 1-2 programming model ....................................................................................... 1-3 2-1 common crystal connections ........................................................................ 2-2 2-2 external oscillator connections ..................................................................... 2-2 2-3 one crystal driving two mcus ..................................................................... 2-2 2-4 address/data demultiplexing ......................................................................... 2-8 3-1 memory maps ................................................................................................. 3-1 5-1 data format ................................................................................................... 5-2 5-2 sampling technique used on all bits ............................................................ 5-3 5-3 examples of start bit sampling techniques .................................................. 5-4 5-4 sci artificial start following a framing error ................................................. 5-4 5-5 sci start bit following a break ...................................................................... 5-4 5-6 serial communications interface block diagram ........................................... 5-7 5-7 rate generator division ............................................................................... 5-12 6-1 data clock timing diagram ........................................................................... 6-2 6-2 serial peripheral interface block diagram ..................................................... 6-3 6-3 serial peripheral interface master-slave interconnection .............................. 6-4 7-1 a/d conversion sequence ............................................................................. 7-2 7-2 a/d pin model ................................................................................................ 7-2 9-1 reset timing .................................................................................................. 9-2 9-2 simple lvi reset circuit ................................................................................ 9-3 9-3 interrupt stacking order ................................................................................. 9-9 9-4 processing flow out of resets (sheet 1 of 2) ............................................. 9-12 9-4 processing flow out of resets (sheet 2 of 2) ............................................. 9-13 9-5 interrupt priority resolution (sheet 1 of 2) ................................................... 9-14 9-5 interrupt priority resolution (sheet 2 of 2) ................................................... 9-15 9-6 interrupt source resolution within sci ........................................................ 9-16 10-1 programming model ..................................................................................... 10-2 10-2 special operations ..................................................................................... 10-12 a-1 test methods .................................................................................................. a-4 a-2 timer inputs ................................................................................................... a-7 a-3 por and external reset timing diagram ...................................................... a-8 a-4 stop recovery timing diagram ................................................................... a-9 a-5 wait recovery timing diagram .................................................................. a-10 a-6 interrupt timing diagram .............................................................................. a-11 a-7 port write timing diagram ........................................................................... a-14 a-8 port read timing diagram ........................................................................... a-14 a-9 simple output strobe timing diagram ......................................................... a-14 a-10 simple input strobe timing diagram ........................................................... a-15 a-11 port c input handshake timing diagram ..................................................... a-15 a-12 port c output handshake timing diagram .................................................. a-15 a-13 three-state variation of output handshake timing diagram (stra enables output buffer) a-16 a-14 multiplexed expansion bus timing diagram ................................................ a-21 a-8 a) spi master timing (cpha = 0) ................................................................ a-24
motorola mc68hc11a8 x technical data a-8 b) spi master timing (cpha = 1) ................................................................ a-24 a-15 spi timing diagram (1 of 2) ......................................................................... a-24 a-15 c) spi slave timing (cpha = 0) .................................................................. a-25 a-15 d) spi slave timing (cpha = 1) .................................................................. a-25 a-15 spi timing diagrams (2 of 2) ....................................................................... a-25 b-1 52-pin plcc .................................................................................................. b-1 b-2 48-pin dip ...................................................................................................... b-2 b-3 64-pin qfp ..................................................................................................... b-3 b-4 m68hc11 p/n options ................................................................................... b-5
mc68hc11a8 motorola technical data xi list of tables table page 1-1 m68hc11 family devices ..................................................................................... 1-4 2-1 operating modes vs. moda and modb ............................................................... 2-3 2-2 port signal summary............................................................................................. 2-7 2-3 bootstrap mode interrupt vectors.......................................................................... 2-9 3-1 register and control bit assignments ................................................................... 3-2 4-1 handshake l/o operations summary .................................................................... 4-4 5-1 first prescaler stage ........................................................................................... 5-11 5-2 second prescaler stage ...................................................................................... 5-12 5-3 prescaler highest baud rate frequency output................................................. 5-12 5-4 transmit baud rate output for a given prescaler output .................................. 5-13 6-1 serial peripheral rate selection............................................................................ 6-5 7-1 analog-to-digital channel assignments ................................................................ 7-4 8-1 real time interrupt rate versus rtr1 and rtr0 ................................................ 8-9 9-1 cop timeout period versus cr1 and cr0........................................................... 9-5 9-2 irq vector interrupts............................................................................................. 9-8 9-3 interrupt vector assignments ................................................................................ 9-8 9-4 sci serial system interrupts ................................................................................. 9-9 9-5 mode bits relationship ........................................................................................ 9-11 9-6 highest priority i interrupt versus psel[3:0] ....................................................... 9-17 9-7 pin state summary for reset, stop, and wait.............................................. 9-18 10-1 mc68hc11a8 instructions, addressing modes, and execution times............. 10-6 10-2 cycle-by-cycle operation ?inherent mode ................................................... 10-13 10-3 cycle-by-cycle operation ?immediate mode ............................................... 10-16 10-4 cycle-by-cycle operation ?direct mode....................................................... 10-16 10-5 cycle-by-cycle operation ?extended mode ................................................. 10-18 10-6 cycle-by-cycle operation ?indexed x mode ................................................ 10-19 10-7 cycle-by-cycle operation ?indexed y mode ................................................ 10-21 10-8 cycle-by-cycle operation ?relative mode ................................................... 10-22 a-1 maximum rating ................................................................................................... a-1 a-2 thermal characteristics ........................................................................................ a-1 a-3 dc electrical characteristics................................................................................. a-2 a-3 dc electrical characteristics (mc68l11a8) ........................................................ a-3 a-4 control timing ....................................................................................................... a-5 a-4 control timing (mc68l11a8) ............................................................................... a-6 a-5 peripheral port timing......................................................................................... a-12 a-5 peripheral port timing (mc68l11a8) ................................................................ a-13 a-6 analog-to-digital converter characteristics ....................................................... a-17 a-6 analog-to-digital converter characteristics (mc68l11a8) ............................... a-18 a-7 expansion bus timing......................................................................................... a-19 a-7 expansion bus timing (mc68l11a8) ................................................................ a-20 a-8 serial peripheral interface (spi) timing.............................................................. a-22 a-8 serial peripheral interface (spi) timing (mc68l11a8) ..................................... a-23
motorola mc68hc11a8 xii technical data a-9 eeprom characteristics .................................................................................... a-26 a-9 eeprom characteristics (mc68l11a8) ............................................................ a-26 b-1 ordering information ............................................................................................. b-4
mc68hc11a8 introduction motorola technical data 1-1 1 1 introduction the hcmos mc68hc11a8 is an advanced 8-bit microcontroller (mcu) with highly sophisticated on-chip peripheral capabilities. a fully static design and high-density complementary metal-oxide semiconductor (hcmos) fabrication process allow e-se- ries devices to operate at frequencies from 3 mhz to dc, with very low power consump- tion. 1.1 features the following are some of the hardware and software highlights. 1.1.1 hardware features ?8 kbytes of rom ?512 bytes of eeprom ?256 bytes of ram (all saved during standby) relocatable to any 4k boundary ?enhanced 16-bit timer system: ?four stage programmable prescaler ?three input capture functions ?five output compare functions ?8-bit pulse accumulator circuit ?enhanced nrz serial communications interface (sci) ?serial peripheral interface (spi) ?eight channel, 8-bit analog-to-digital converter ?real time interrupt circuit ?computer operating properly (cop) watchdog system ?available in dual-in-line or leaded chip carrier packages 1.1.2 software features ?enhanced m6800/m6801 instruction set ?16 x 16 integer and fractional divide features ?bit manipulation ?wait mode ?stop mode 1.2 general description the high-density cmos technology (hcmos) used on the mc68hc11a8 combines smaller size and higher speeds with the low power and high noise immunity of cmos. on-chip memory systems include 8 kbytes of rom, 512 bytes of electrically erasable programmable rom (eeprom), and 256 bytes of static ram. a block diagram of the mc68hc11a8 is shown in figure 1-1 . major peripheral func- tions are provided on-chip. an eight channel analog-to-digital (a/d) converter is includ- ed with eight bits of resolution. an asynchronous serial communications interface
motorola introduction mc68hc11a8 1-2 technical data 1 (sci) and a separate synchronous serial peripheral interface (spi) are included. the main 16-bit free-running timer system has three input capture lines, five output compare lines, and a real-time interrupt function. an 8-bit pulse accumulator subsystem can count external events or measure external periods. self monitoring circuitry is included on-chip to protect against system errors. a computer op- erating properly (cop) watchdog system protects against software failures. a clock monitor system generates a system reset in case the clock is lost or runs too slow. an illegal opcode detection circuit provides a non-maskable interrupt if an illegal opcode is detected. two software controlled operating modes, wait and stop, are available to conserve addi- tional power. figure 1-1 block diagram 1.3 programmer? model in addition to being able to execute all m6800 and m6801 instructions, the mc68hc11a8 al- lows execution of 91 new opcodes. figure 1-2 shows the seven cpu registers which are available to the programmer. spi a/d converter sci port d control extal xtal e oscillator clock logic interrupt logic moda/ lir modb/ v stby timer system cpu cop pulse accumulator strobe and handshake port b pb7/a15 pb6/a14 pb5/a13 pb4/a12 pb3/a11 pb2/a10 pb1/a9 pb0/a8 port c pc7/a7/d7 pc6/a6/d6 pc5/a5/d5 pc4/a4/d4 pc3/a3/d3 pc2/a2/d2 pc1/a1/d1 pc0/a0/d0 strb/r/w stra/as pd5/ss pd4/sck pd3/mosi pd2/miso pd1/txd pd0/rxd port e * pe7/an7 * pe6/an6 * pe5/an5 * pe4/an4 pe3/an3 pe2/an2 pe1/an1 pe0/an0 control port a pa7/pai/oc1 pa6/oc2/oc1 pa5/oc3/oc1 pa4/oc4/oc1 pa3/oc5/oc1 pa2/ic1 pa1/ic2 pa0/ic3 bus expansion parallel i/o address address/data r/w as ss sck periodic interrupt mode control xirq irq reset mosi miso * not bonded on 48-pin version. 256 bytes ram 512 bytes eeprom 8 kbytes rom v rl v rh v ss v dd txd rxd a8 block
mc68hc11a8 introduction motorola technical data 1-3 1 figure 1-2 programming model 1.4 summary of m68hc11 family table 1-1 and the following paragraphs summarize the current members of the m68hc11 family of mcus. this technical data book describes the mc68hc11a8 ver- sion and can be used as a primary reference for several other versions of the m68hc11 family. however, with the exception of the cpu, some newer members dif- fer greatly from the mc68hc11a8 mcu and their respective technical literature should be referenced. several of the device series within the m68hc11 family have x1 and x0 versions. these are identical to the main member of the series but have some of their on-chip resources disabled. for instance, an mc68hc11a1 is identical to the mc68hc11a8 except that its rom is disabled. an mc68hc11a0 has disabled eprom and ee- prom arrays. refer to table 1-1 . nearly all series within the m68hc11 family have both a rom version and an eprom version. any device in the m68hc11 family that has a 7 preceding the 11 is a device containing eprom instead of rom (e.g., mc68hc711e9). these devices operate exactly as the custom rom-based version (e.g., mc68hc11e9) but can be pro- grammed by the user. eprom-based devices in a windowed package can be erased and reprogrammed indefinitely. eprom-based devices in standard packages are one-time-programmable (otp). refer to table 1-1 . 8-bit accumulators a & b 70 70 15 0 ab d ix iy sp pc 70 c v z n i h x s or 16-bit double accumulator d index register x index register y stack pointer program counter carry/borrow from msb overflow zero negative i-interrupt mask half carry (from bit 3) x-interrupt mask stop disable condition codes
motorola introduction mc68hc11a8 1-4 technical data 1 table 1-1 m68hc11 family devices device ram rom eprom eeprom comments mc68hc11a8 256 8k 0 512 16-bit timer; 8 channel 8-bit a/d, sci, spi mc68hc11a7 256 8k 0 0 mc68hc11a1 256 0 0 512 mc68hc11a0 256 0 0 0 mc68hc11d3 192 4k 0 0 16-bit timer; sci, spi mc68hc711d3 192 0 4k 0 mc68hc11d0 192 0 0 0 mc68hc11ed0 512 0 0 0 16-bit timer; sci, spi mc68hc11e9 512 12k 0 512 16-bit timer; sci, spi, 8 channel 8-bit a/d mc68hc711e9 512 0 12k 512 mc68hc11e8 512 12k 0 0 mc68hc11e1 512 0 0 512 mc68hc11e0 512 0 0 0 mc68hc811e2 256 0 0 2048 16-bit timer; sci, spi, 8 channel 8-bit a/d, 2k eeprom mc68hc11e20 768 20k 0 512 16-bit timer; scl, spi, 8 channel 8-bit a/d, mc68hc711e20 768 0 20k 512 20k rom/eprom mc68hc11f1 1024 0 0 512 nonmultiplexed bus, 8 channel 8-bit a/d, 4 chip selects, sci, spi mc68hc11g7 512 24k 0 0 nonmultiplexed bus, 8 channel 10-bit a/d, 4 channel pwm, mc68hc11g5 512 16k 0 0 sci, spi, 66 i/o pins mc68hc711g5 512 0 16k 0 mc68hc11g0 512 0 0 0 mc68hc11k4 768 24k 0 640 nonmultiplexed bus, memory expansion to 1mb, mc68hc711k4 768 0 24k 640 8 channel 8-bit a/d, 4 channel pwm, 4 chip selects mc68hc11k3 768 24k 0 0 mc68hc11k1 768 0 0 640 mc68hc11k0 768 0 0 0 mc68hc11ka4 768 24k 0 640 nonmultiplexed bus, 8 channel 8-bit a/d, sci, spi, mc68hc711ka4 768 0 24k 640 4 channel pwm mc68hc11ka2 1024 32k 0 640 mc68hc711ka2 1024 0 32k 640 mc68hc11l6 512 16k 0 512 multiplexed bus, 16-bit timer; 8 channel 8-bit a/d, sci, spi mc68hc711l6 512 0 16k 512 mc68hc11l5 512 16k 0 0 mc68hc11l1 512 0 0 512 mc68hc11l0 512 0 0 0 mc68hc11m2 1280 32k 0 640 nonmultiplexed bus, 8 channel 8-bit a/d, 4 channel pwm, mc68hc711m2 1280 0 32k 640 dma, on-chip math coprocessor, sci, 2 spi mc68hc11n4 768 24k 0 640 nonmultiplexed bus, 12 channel 8-bit a/d, 2 channel 8- bit d/a, mc68hc711n4 768 0 24k 640 6 channel pwm, on-chip math coprocessor, sci, spi mc68hc11p2 1024 32k 0 640 nonmultiplexed bus, pll, 8 channel 8-bit a/d, 4 channel pwm, mc68hc711p2 1024 0 32k 640 3 sci (2 with ml bus), spi, 62 i/o pins
mc68hc11a8 signal descriptions and operating modes motorola technical data 2-1 2 2 signal descriptions and operating modes the signal descriptions and operating modes are presented in this section. when the microcontroller is in an expanded multiplexed operating mode, 18 pins change func- tion to support a multiplexed address/data bus. 2.1 signal pin descriptions the following paragraphs provide a description of the input/output signals. reference is made, where applicable, to other sections that contain more detail about the function being performed. 2.1.1 input power (v dd ) and ground (v ss ) power is supplied to the microcontroller using these pins. v dd is the positive power in- put and v ss is ground. although the mc68hc11a8 is a cmos device, very fast signal transitions are present on many of its pins. short rise and fall times are present even when the microcontroller is operating at slow clock rates. special care must be taken to provide good power supply bypassing at the mcu. recommended bypassing would include a 0.1 m f ceramic capacitor between the v dd and v ss pins and physically adja- cent to one of the two pins. a bulk capacitance, whose size depends on the other cir- cuitry in the system, should also be present on the circuit board. 2.1.2 reset (reset ) this active low bidirectional control signal is used as an input to initialize the mc68hc11a8 to a known start-up state, and as an open-drain output to indicate that an internal failure has been detected in either the clock monitor or computer operating properly (cop) watchdog circuit. this reset signal is significantly different from the re- set signal used on other motorola mcus. please refer to 9 resets, interrupts, and low power modes before designing circuitry to generate or monitor this sig- nal. 2.1.3 crystal driver and external clock input (xtal, extal) these two pins provide the interface for either a crystal or a cmos compatible clock to control the internal clock generator circuitry. the frequency applied to these pins shall be four times higher than the desired e clock rate. the xtal pin is normally left unterminated when using an external cmos compatible clock input to the extal pin. however, a 10k to 100k load resistor to ground may be used to reduce rfi noise emission. the xtal output is normally intended to drive only a crystal. the xtal output may be buffered with a high-input-impedance buffer such as the 74hc04, or it may be used to drive the extal input of another m68hc11. in all cases take extra care in the circuit board layout around the oscillator pins. load capacitances shown in the oscillator circuits include all stray layout capacitances. re- fer to figure 2-1 , figure 2-2 , and figure 2-3 for diagrams of oscillator circuits.
motorola signal descriptions and operating modes mc68hc11a8 2-2 technical data 2 figure 2-1 common crystal connections figure 2-2 external oscillator connections figure 2-3 one crystal driving two mcus 10 m w * this value includes all stray capacitances. mcu 25 pf * 25 pf * extal xtal 4 x e crystal common xtal conn nc mcu extal xtal 4 x e cmos-compatible ext extal conn external oscillator 10 m w * this value includes all stray capacitances. first 25 pf * 25 pf * extal xtal 4 x e crystal dual-mcu xtal conn nc second extal xtal 220 w mcu mcu
mc68hc11a8 signal descriptions and operating modes motorola technical data 2-3 2 2.1.4 e clock output (e) this is the output connection for the internally generated e clock which can be used as a timing reference. the frequency of the e clock output is actually one fourth that of the input frequency at the xtal and extal pins. when the e clock output is low an internal process is taking place and, when high, data is being accessed. the e clock signal is halted when the mcu is in stop mode. 2.1.5 interrupt request (irq ) the irq input provides a means for requesting asynchronous interrupts to the mc68hc11a8. it is program selectable (option register) with a choice of either neg- ative edge-sensitive or level-sensitive triggering, and is always configured to level- sensitive triggering by reset. the irq pin requires an external pull-up resistor to v dd (typically 4.7k ohm). 2.1.6 non-maskable interrupt (xirq ) this input provides a means for requesting a non-maskable interrupt, after reset ini- tialization. during reset, the x bit in the condition code register is set and any interrupt is masked until mcu software enables it. the xirq input is level sensitive and re- quires an external pull-up resistor to v dd . 2.1.7 mode a/load instruction register and mode b/standby voltage (moda/lir , modb/v stby ) during reset, moda and modb are used to select one of the four operating modes. refer to table 2-1 . paragraph 2.2 operating modes provides additional information. after the operating mode has been selected, the lir pin provides an open-drain output to indicate that an instruction is starting. all instructions are made up of a series of e clock cycles. the lir signal goes low during the first e clock cycle of each instruction (opcode fetch). this output is provided as an aid in program debugging. the v stby signal is used as the input for ram standby power. when the voltage on this pin is more than one mos threshold (about 0.7 volts) above the v dd voltage, the internal 256-byte ram and part of the reset logic are powered from this signal rather than the v dd input. this allows ram contents to be retained without v dd power applied to the mcu. reset must be driven low before v dd is removed and must remain low until v dd has been restored to a valid level. table 2-1 operating modes vs. moda and modb modb moda mode selected 1 0 single chip 1 1 expanded multiplexed 0 0 special bootstrap 0 1 special test
motorola signal descriptions and operating modes mc68hc11a8 2-4 technical data 2 2.1.8 a/d converter reference voltages (v rl , v rh ) these two inputs provide the reference voltages for the analog-to-digital converter cir- cuitry. 2.1.9 strobe b and read/write (strb/r/w ) this signal acts as a strobe b output or as a data bus direction indicator depending on the operating mode. in single-chip operating mode, the strb output acts as a programmable strobe for handshake with other parallel l/o devices. refer to 4 parallel i/o for additional in- formation. in expanded multiplexed operating mode, r/w is used to control the direction of trans- fers on the external data bus. a low on the r/w signal indicates data is being written to the external data bus. a high on this signal indicates that a read cycle is in progress. r/w will stay low during consecutive data bus write cycles, such as in a double-byte store. the nand of inverted r/w with the e clock should be used as the write enable signal for an external static ram. 2.1.10 strobe a and address strobe (stra/as) this signal acts as an edge detecting strobe a input or as an address strobe bus con- trol output depending on the operating mode. in single-chip operating mode, the stra input acts as a programmable strobe for handshake with other parallel l/o devices. refer to 4 parallel i/o for additional in- formation. in expanded multiplexed operating mode, the as output is used to demultiplex the ad- dress and data signals at port c. refer to 2.2.2 expanded multiplexed operating mode for additional information. 2.1.11 port signals ports a, d, and e signals are independent of the operating mode. port b provides eight general purpose output signals in single-chip operating modes and provides eight high-order address signals when the microcontroller is in expanded multiplexed oper- ating modes. port c provides eight general purpose input/output signals when the mi- crocontroller is in singlechip operating modes. when the microcontroller is in expanded multiplexed operating modes, port c is used for a multiplexed address/data bus. table 2-2 shows a summary of the 40 port signals as they relate to the operating modes. unused inputs and l/o pins configured as inputs should be terminated high or low.
mc68hc11a8 signal descriptions and operating modes motorola technical data 2-5 2 2.1.11.1 port a port a may be configured for: three input capture functions (ic1, ic2, ic3), four output compare functions (oc2, oc3, oc4, oc5), and either a pulse accumulator input (pai) or a fifth output compare function (oc1). refer to 8.1 programmable timer for addi- tional information. any port a pin that is not used for its alternate timer function may be used as a general- purpose input or output line. 2.1.11.2 port b while in single-chip operating modes, all of the port b pins are general-purpose output pins. during mcu reads of this port, the level sensed at the input side of the port b output drivers is read. port b may also be used in a simple strobed output mode where an output pulse appears at the strb signal each time data is written to port b. when in expanded multiplexed operating modes, all of the port b pins act as high order address output signals. during each mcu cycle, bits 8 through 15 of the address are output on the pb0-pb7 lines respectively. 2.1.11.3 port c while in single-chip operating modes, all port c pins are general-purpose input/output pins. port c inputs can be latched by providing an input transition to the stra signal. port c may also be used in full handshake modes of parallel l/o where the stra input and strb output act as handshake control lines. when in expanded multiplexed operating modes, all port c pins are configured as mul- tiplexed address/data signals. during the address portion of each mcu cycle, bits 0 through 7 of the address are output on the pc0-pc7 lines. during the data portion of each mcu cycle (e high), pins 0 through 7 are bidirectional data signals (d0-d7). the direction of data at the port c pins is indicated by the r/w signal. 2.1.11.4 port d port d pins 0-5 may be used for general-purpose l/o signals. port d pins alternately serve as the serial communications interface (sci) and serial peripheral interface (spi) signals when those subsystems are enabled. pin pd0 is the receive data input (rxd) signal for the serial communication interface (sci). pin pd1 is the transmit data output (txd) signal for the sci. pins pd2 through pd5 are dedicated to the spi. pd2 is the master-in-slave-out (mi- so) signal. pd3 is the master-out-slave-in (mosi) signal. pd4 is the serial clock (sck) signal and pd5 is the slave select (ss ) input.
motorola signal descriptions and operating modes mc68hc11a8 2-6 technical data 2 2.1.11.5 port e port e is used for general-purpose inputs and/or analog-to-digital (a/d) input chan- nels. reading port e during the sampling portion of an a/d conversion could cause very small disturbances and affect the accuracy of that result. if very high accuracy is required, avoid reading port e during conversions. 2.2 operating modes there are four operating modes for the mc68hc11a8: single-chip operating mode, expanded multiplexed operating mode, special bootstrap operating mode, and special test operating mode. table 2-1 shows how the operating mode is selected. the following paragraphs de- scribe these operating modes. 2.2.1 single-chip operating mode in single-chip operating mode, the mc68hc11a8 functions as a monolithic microcon- troller without external address or data buses. port b, port c, strobe a, and strobe b function as general purpose l/o and handshake signals. refer to 4 parallel i/o for additional information. 2.2.2 expanded multiplexed operating mode in expanded multiplexed operating mode, the mc68hc11a8 has the capability of ac- cessing a 64 kbyte address space. this total address space includes the same on- chip memory addresses used for single-chip operating mode plus external peripheral and memory devices. the expansion bus is made up of port b and port c, and control signals as and r/w . figure 2-4 shows a recommended way of demultiplexing low or- der addresses from data at port c. the address, r/w , and as signals are active and valid for all bus cycles including accesses to internal memory locations.
mc68hc11a8 signal descriptions and operating modes motorola technical data 2-7 2 table 2-2 port signal summary port-bit single chip and bootstrap mode expanded multiplexed and special test mode a-0 a-1 a-2 a-3 a-4 a-5 a-6 a-7 pa0/ic3 pa1/ic2 pa2/ic1 pa3/oc5/oc1 pa4/oc4/oc1 pa5/oc3/oc1 pa6/oc2/oc1 pa7/pai/oc1 pa0/ic3 pa1/ic2 pa2/ic1 pa3/oc5/oc1 pa4/oc4/oc1 pa5/oc3/oc1 pa6/oc2/oc1 pa7/pai/oc1 b-0 b-1 b-2 b-3 b-4 b-5 b-6 b-7 pb0 pb1 pb2 pb3 pb4 pb5 pb6 pb7 a8 a9 a10 a11 a12 a13 a14 a15 c-0 c-1 c-2 c-3 c-4 c-5 c-6 c-7 pc0 pc1 pc2 pc3 pc4 pc5 pc6 pc7 a0/d0 a1/d1 a2/d2 a3/d3 a4/d4 a5/d5 a6/d6 a7/d7 d-0 d-1 d-2 d-3 d-4 d-5 pd0/rxd pd1/txd pd2/miso pd3/mosi pd4/sck pd5/ss stra strb pd0/rxd pd1/txd pd2/miso pd3/mosi pd4/sck pd5/ss as r/w e-0 e-1 e-2 e-3 e-4 e-5 e-6 e-7 pe0/an0 pe1/an1 pe2/an2 pe3/an3 pe4/an4## pe5/an5## pe6/an6## pe7/an7## pe0/an0 pe1/an1 pe2/an2 pe3/an3 pe4/an4## pe5/an5## pe6/an6## pe7/an7## ## not bonded in 48-pin versions
motorola signal descriptions and operating modes mc68hc11a8 2-8 technical data 2 figure 2-4 address/data demultiplexing 2.2.3 special bootstrap operating mode the bootstrap mode is considered a special operating mode as distinguished from the normal single-chip operating mode. this is a very versatile operating mode since there are essentially no limitations on the special purpose program that can be loaded into the internal ram. the boot loader program is contained in the 192 byte bootstrap rom. this rom is enabled only if the mcu is reset in special bootstrap operating mode, and appears as internal memory space at locations $bf40-$bfff. the boot loader program will use the sci to read a 256 byte program into on-chip ram at loca- tions $0000-$00ff. after the character for address $00ff is received, control is auto- matically passed to that program at location $0000. the mc68hc11a8 communicates through the sci port. after reset in special boot- strap operating mode, the sci is running at e clock/16 (7812 baud for e clock equal 2 mhz). if the security feature was specified and the security bit is set, $ff is output by the sci transmitter. the eeprom is then erased. if erasure is unsuccessful, $ff is output again and erasure is attempted again. upon successful erasure of the ee- prom, all internal ram is written over with $ff. the config register is then erased. the boot loader program now proceeds as though the part had not been in security mode. hc373 mc68hc11a8 addr/data demux a14 a13 a12 a11 a10 a9 a8 a15 a6 a5 a4 a3 a2 a1 a0 a7 d6 d5 d4 d3 d2 d1 d0 d7 d2 d3 d4 d5 d6 d7 d8 d1 q2 q3 q4 q5 q6 q7 q8 q1 oe le pc6/a6/d6 pc5/a5/d5 pc4/a4/d4 pc3/a3/d3 pc2/a2/d2 pc1/a1/d1 pc0/a0/d0 pc7/a7/d7 as pb6/a14 pb5/a13 pb4/a12 pb3/a11 pb2/a10 pb1/a9 pb0/a8 pb7/a15 r/w e we
mc68hc11a8 signal descriptions and operating modes motorola technical data 2-9 2 if the part is not in security mode (or has completed the above erase sequence), a break character is output by the sci transmitter. for normal use of the boot loader pro- gram, the user sends $ff to the sci receiver at either e clock/16 (7812 baud for e clock = 2 mhz) or e clock/104 (1200 baud for e clock = 2 mhz). note this $ff is not echoed through the sci transmitter. now the user must download 256 bytes of program data to be put into ram starting at location $0000. these characters are echoed through the transmitter. when loading is complete, the program jumps to location $0000 and begins executing that code. if the sci transmitter pin is to be used, an external pull-up resistor is required because port d pins are configured for wire-or operation. in special bootstrap operating mode the interrupt vectors are directed to ram as shown in table 2-3 . this allows the user to use interrupts by way of a jump table. for example: to use the swi interrupt, a jump instruction would be placed in ram at loca- tions $00f4, $00f5, and $00f6. when an swi is encountered, the vector (which is in the boot loader rom program) will direct program control to location $00f4 in ram which in turn contains a jump instruction to the interrupt service routine. table 2-3 bootstrap mode interrupt vectors address vector 00c4 sci 00c7 spi 00ca pulse accumulator input edge 00cd pulse accumulator overflow 00d0 timer overflow 00d3 timer output compare 5 00d6 timer output compare 4 00d9 timer output compare 3 00dc timer output compare 2 00df timer output compare 1 00e2 timer input capture 3 00e5 timer input capture 2 00e8 timer input capture 1 00eb real time interrupt 00ee irq 00f1 xirq 00f4 swi 00f7 illegal opcode 00fa cop fail 00fd clock monitor bf40 (boot) reset
motorola signal descriptions and operating modes mc68hc11a8 2-10 technical data 2 2.2.4 additional boot loader program options the user may transmit a $55 (only at e clock/16) as the first character rather than the normal $ff. this will cause the program to jump directly to location $0000, skipping the download. the user may tie the receiver to the transmitter (with an external pull-up resistor). this will cause the program to jump directly to the beginning of eeprom ($b600). another way to cause the program to jump directly to eeprom is to transmit either a break or $00 as the first character rather than the normal $ff. note that none of these options bypass the security check and so do not compromise those customers using security. keep in mind that upon entry to the downloaded program at location $0000, some reg- isters have been changed from their reset states. the sci transmitter and receiver are enabled which cause port d pins 0 and 1 to be dedicated to sci use. also port d is configured for wired-or operation. it may be necessary for the user to write to the sccr2 and spcr registers to disable the sci and/or port d wire-or operation. 2.2.5 special test operating mode the test mode is a special operating mode intended primarily for factory testing. this mode is very similar to the expanded multiplexed operating mode. in special test op- erating mode, the reset and interrupt vectors are fetched from external memory loca- tions $bfc0?bfff rather than $ffc0?ffff. there are no time limits for protection of the tmsk2, option, and init registers, so these registers may be written repeat- edly. also a special test1 register is enabled which allows several factory test func- tions to be invoked. the special test operating mode is not recommended for use by an end user because of the reduced system security; however, an end user may wish to come out of reset in special test operating mode. then, after some initialization, the smod and mda bits could be rewritten to select a normal operating mode to re-enable the protection fea- tures.
mc68hc11a8 on-chip memory motorola technical data 3-1 3 3 on-chip memory this section describes the on-chip rom, ram, and eeprom memories. the memory maps for each mode of operation are shown and the ram and l/o mapping register (init) is described. the init register allows the on-chip ram and the 64 control reg- isters to be moved to suit the needs of a particular application. 3.1 memory maps composite memory maps for each mode of operation are shown in figure 3-1 . mem- ory locations are shown in the shaded areas and the contents of these shaded areas are shown to the right. these modes include single-chip, expanded multiplexed, spe- cial bootstrap, and special test. single-chip operating modes do not generate external addresses. refer to table 3-1 for a full list of the registers. figure 3-1 memory maps single chip bootstrap special test expanded normal modes interrupt vectors 64-byte register block 256 bytes ram ext $0000 $1000 $b600 $e000 $ffff special modes interrupt vectors 512 bytes eeprom 8 kbytes rom boot rom ext a8 mem map ffc0 ffff bfc0 bfff e000 ffff bf40 bfff b600 b7ff 1000 103f 0000 00ff ext ext ext ext
motorola on-chip memory mc68hc11a8 3-2 technical data 3 table 3-1 register and control bit assignments (sheet 1 of 2) bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 $1000 bit 7 bit 0 porta i/o port a $1001 reserved $1002 staf stai cwom hnds oin pls ega invb pioc parallel i/o control register $1003 bit 7 bit 0 portc i/o port c $1004 bit 7 bit 0 portb output port b $1005 bit 7 bit 0 portcl alternate latched port c $1006 reserved $1007 bit 7 bit 0 ddrc data direction for port c $1008 bit 5 bit 0 portd i/o port d $1009 bit 5 bit 0 ddrd data direction for port d $100a bit 7 bit 0 porte input port e $100b foc1 foc2 foc3 foc4 foc5 cforc compare force register $100c oc1m7 oc1m6 oc1m5 oc1m4 oc1m3 oc1m oc1 action mask register $100d oc1d7 oc1d6 oc1d5 oc1d4 oc1d3 oc1d oc1 action data register $100e bit 15 bit 8 tcnt timer counter register $100f bit 7 bit 0 $1010 bit 15 bit 8 tic1 input capture 1 register $1011 bit 7 bit 0 $1012 bit 15 bit 8 tic2 input capture 2 register $1013 bit 7 bit 0 $1014 bit 15 bit 8 tic3 input capture 3 register $1015 bit 7 bit 0 $1016 bit 15 bit 8 toc1 output compare 1 register $1017 bit 7 bit 0 $1018 bit 15 bit 8 toc2 output compare 2 register $1019 bit 7 bit 0 $101a bit 15 bit 8 toc3 output compare 3 register $101b bit 7 bit 0 $101c bit 15 bit 8 toc4 output compare 4 register $101d bit 7 bit 0 $101e bit 15 bit 8 tco5 output compare 5 register $101f bit 7 bit 0
mc68hc11a8 on-chip memory motorola technical data 3-3 3 bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 $1020 om2 ol2 om3 ol3 om4 ol4 om5 ol5 tctl1 timer control register 1 $1021 edg1b edg1a edg2b edg2a edg3b edg3a tctl2 timer control register 2 $1022 oc1i oc2i oc3i oc4i oc5i ic1i ic2i ic3i tmsk1 timer interrupt mask register 1 $1023 oc1f oc2f oc3f oc4f oc5f ic1f ic2f ic3f tflg1 timer interrupt flag register 1 $1024 toi rtii paovi paii pr1 pr0 tmsk2 timer interrupt mask register 2 $1025 tof rtif paovf paif tflg2 timer interrupt flag register 2 $1026 ddra7 paen pamod pedge rtr1 rtr0 pactl pulse accumulator control register $1027 bit 7 bit 0 pacnt pulse accumulator count register $1028 spie spe dwom mstr cpol cpha spr1 spr0 spcr spi control register $1029 spif wcol modf spsr spi status register $102a bit 7 bit 0 spdr spi data register $102b tclr scp1 scp0 rckb scr2 scr1 scr0 baud sci baud rate control $102c r8 t8 m wake sccr1 sci control register 1 $102d tie tcie rie ilie te re rwu sbk sccr2 sci control register 2 $102e trde tc rdrf idle or nf fe scsr sci status register $102f bit 7 bit 0 scdr sci data (read rdr, write tdr) $1030 ccf scan mult cd cc cb ca adctl a/d control register $1031 bit 7 bit 0 adr1 a/d result register 1 $1032 bit 7 bit 0 adr2 a/d result register 2 $1033 bit 7 bit 0 adr3 a/d result register 3 $1034 bit 7 bit 0 adr4 a/d result register 4 $1035 thru reserved $1038 $1039 adpu csel irqe dly cme cr1 cr0 option system configuration options $103a bit 7 bit 0 coprst arm/reset cop timer circuitry $103b odd even byte row erase eelat eepgm pprog eeprom program control register $103c rboot smod mda irv psel3 psel2 psel1 psel0 hprio highest priority i-bit int and misc $103d ram3 ram2 ram1 ram0 reg3 reg2 reg1 reg0 init ram and i/o mapping register $103e tilop occr cbyp disr fcm fcop tcon test1 factory test control register $103f nosec nocop romon eeon config cop, rom, and eeprom enables table 3-1 register and control bit assignments (sheet 2 of 2)
motorola on-chip memory mc68hc11a8 3-4 technical data 3 in expanded multiplexed operating modes, memory locations are basically the same as the single- chip operating modes; however, the locations between the shaded ar- eas (designated ext) are for externally addressed memory and l/o. if an external memory or l/o device is located to overlap an enabled internal resource, the internal resource will take priority. for reads of such an address the data (if any) driving the port c data inputs is ignored and will not result in any harmful conflict with the internal read. for writes to such an address data is driven out of the port c data pins as well as to the internal location. no external devices should drive port c during write access- es to internal locations; however, there is normally no conflict since the external ad- dress decode and/ or data direction control should incorporate the r/w signal in their development. the r/w , as, address, and write data signals are valid for all accesses including accesses to internal memory and registers. the special bootstrap operating mode memory locations are similar to the single-chip operating mode memory locations except that a bootstrap program at memory loca- tions $bf40 through $bfff is enabled. the reset and interrupt vectors are addressed at $bfc0?bfff while in the special bootstrap operating mode. these vector ad- dresses are within the 192 byte memory used for the bootstrap program. the special test operating mode memory map is the same as the expanded multi- plexed operating mode memory map except that the reset and interrupt vectors are located at external memory locations $bfc0?bfff. 3.2 ram and i/o mapping register (init) there are 64 internal registers which are used to control the operation of the mcu. these registers can be relocated on 4k boundaries within the memory space, using the init register. refer to table 3-1 for a complete list of the registers. the registers and control bits are explained throughout this document. the init register is a special-purpose 8-bit register which may be used during initial- ization to change the default locations of ram and control registers within the mcu memory map. it may be written to only once within the initial 64 e clock cycles after a reset and thereafter becomes a read-only register. the default starting address for internal ram is $0000 and the default starting address for the 64 control registers is $1000 (the init register is set to $01 at reset). the upper four bits of the init register specify the starting address for the 256 byte ram and the lower four bits of init specify the starting address for the 64 control registers. these four bits are matched to the upper four bits of the 16-bit address. throughout this document, the control register addresses will be displayed with the high-order digit shown as a bold 1 ?to indicate that the register block may be relocated to some 4k memory page other than its default position of $1000-$103f. 76543210 $ 1 03d ram3 ram2 ram1 ram0 reg3 reg2 reg1 reg0 init reset 00000001
mc68hc11a8 on-chip memory motorola technical data 3-5 3 note that if the ram is relocated to either $e000 or $f000, which is in conflict with the internal rom, (no conflict if the romon bit in the configuration register is zero), ram will take priority and the conflicting rom will become inaccessible. also, if the 64 con- trol registers are relocated so that they conflict with the ram and/or rom, then the 64 control registers take priority and the ram and/or rom at those locations become in- accessible. no harmful conflicts result, the lower priority resources simply become in- accessible. similarly, if an internal resource conflicts with an external device no harmful conflict results. data from the external device will not be applied to the internal data bus and cannot interfere with the internal read. note that there are unused register locations in the 64 byte control register block. reads of these unused registers will return data from the undriven internal data bus and not from another resource that happens to be located at the same address. 3.3 rom the internal 8k rom occupies the highest 8k of the memory map ($e000?ffff). this rom is disabled when the romon bit in the config register is clear. the romon bit is implemented with an eeprom cell and is programmed using the same procedures for programming the on-chip eeprom. for further information refer to 3.5.3 system configuration register (config) . in the single-chip operating mode, internal rom is enabled regardless of the state of the romon bit. there is also a 192 byte mask programmed boot rom in the mc68hc11a8. this bootstrap program rom controls the operation of the special bootstrap operating mode and is only enabled following reset in the special bootstrap operating mode. for more information refer to 2.2.3 special bootstrap operating mode. 3.4 ram the 256 byte internal ram may be relocated during initialization by writing to the init register. the reset default position is $0000 through $00ff. this ram is implemented with static cells and retains its contents during the wait and stop modes. the contents of the 256-byte ram can also be retained by supplying a low current backup power source to the modb/v stby pin. when using a standby power source, v dd may be removed; however, reset must go low before v dd is removed and re- main low until v dd has been restored. 3.5 eeprom the 512 bytes of eeprom are located at $b600 through $b7ff and have the same read cycle time as the internal rom. the write (or programming) mechanism for the eeprom is controlled by the pprog register. the eeprom is disabled when the eeon bit in the config register is zero. the eeon bit is implemented with an ee- prom cell.
motorola on-chip memory mc68hc11a8 3-6 technical data 3 the erased state of an eeprom byte is $ff. programming changes ones to zeros. if any bit in a location needs to be changed from a zero to a one, the byte must be erased in a separate operation before it is reprogrammed. if a new data byte has no ones in bit positions which were already programmed to zero, it is acceptable to program the new data without erasing the eeprom byte first. for example, programming $50 to a location which was already $55 would change the location to $50. programming and erasure of the eeprom relies on an internal high-voltage charge pump. at e clock frequencies below 2 mhz the efficiency of this charge pump decreas- es which increases the time required to program or erase a location. the recommend- ed program and erase time is 10 milliseconds when the e clock is 2 mhz and should be increased to as much as 20 milliseconds when e is between 1 mhz and 2 mhz. when the e clock is below 1 mhz, the clock source for the charge pump should be switched from the system clock to an on-chip r-c oscillator clock. this is done by set- ting the csel bit in the option register. a 10 millisecond period should be allowed after setting the csel bit to allow the charge pump to stabilize. note that the csel bit also controls a clock to the analog-to-digital converter subsystem. 3.5.1 eeprom programming control register (pprog) this 8-bit register is used to control programming and erasure of the 512-byte ee- prom. reset clears this register so the eeprom is configured for normal reads. odd ?program odd rows (test) even ?program even rows (test) bit 5 ?not implemented. this bit always reads zero. byte ?byte erase select this bit overrides the row bit. 0 = row or bulk erase 1 = erase only one byte row ?row erase select if the byte bit is 1, row has no meaning. 0 = bulk erase 1 = row erase erase ?erase mode select 0 = normal read or program 1 = erase mode 7654321 0 $ 1 03b odd even 0 byte row erase eelat eepgm pprog reset 00000000
mc68hc11a8 on-chip memory motorola technical data 3-7 3 eelat ?eeprom latch control 0 = eeprom address and data configured for read mode 1 = eeprom address and data configured for programming/erasing eepgm ?eeprom programming voltage enable 0 = programming voltage switched off 1 = programming voltage turned on if an attempt is made to set both the eelat and eepgm bits in the same write cycle, neither will be set. if a write to an eeprom address is performed while the eepgm bit is set, the write is ignored and the programming operation currently in progress is not disturbed. these two safeguards were included to prevent accidental eeprom changes in cases of program runaway. mask sets a38p, a49n, and date codes before 86xx did not have these safeguards. 3.5.2 programming/erasing internal eeprom the eeprom programming and erasure process is controlled by the pprog regis- ter. the following paragraphs describe the various operations performed on the ee- prom and include example program segments to demonstrate programming and erase operations. these program segments are intended to be simple straightforward examples of the sequences needed for basic program and erase operations. there are no special re- strictions on the address modes used and bit manipulation instructions may be used. other mcu operations can continue to be performed during eeprom programming and erasure provided these operations do not include reads of data from eeprom (the eeprom is disconnected from the read data bus during eeprom program and erase operations). the subroutine dly10 used in these program segments is not shown but can be any set of instructions which takes ten milliseconds. 3.5.2.1 read for the read operation the eelat bit in the pprog register must be clear. when this bit is cleared, the remaining bits in the pprog register have no meaning or effect, and the eeprom may be read as if it were a normal rom. 3.5.2.2 programming during eeprom programming, the row and byte bits are not used. if the e clock frequency is 1 mhz or less, the csel bit in the option register must be set. recall that in this eeprom, zeros must be erased by a separate erase operation before pro- gramming. the following program segment demonstrates how to program an ee- prom byte.
motorola on-chip memory mc68hc11a8 3-8 technical data 3 3.5.2.3 bulk erase the following program segment demonstrates how to bulk erase the 512-byte ee- prom. the config register is not affected in this example. 3.5.2.4 row erase the following program segment demonstrates the row erase function. a ?ow?is six- teen bytes ($b600-$b60f, $b610-$b61f... $b7f0-$b7ff). this type of erase opera- tion saves time compared to byte erase when large sections of eeprom are to be erased. * on entry, a = data to be programmed and x = eeprom address prog ldab #$02 stab $103b set eelat bit (eepgm = 0) staa 0,x store data to eeprom address ldab #$03 stab $103b set eepgm bit (eelat = 1) jsr dly10 delay 10 ms clr $103b turn off high voltage and set to read mode bulke ldab #$06 stab $103b set to bulk erase mode stab $b600 write any data to any eeprom address ldab #$07 stab $103b turn on programming voltage jsr dly10 delay 10 ms clr $103b turn off high voltage and set to read mode
mc68hc11a8 on-chip memory motorola technical data 3-9 3 3.5.2.5 byte erase the following program segment shows the byte erase function. 3.5.3 system configuration register (config) the mc68hc11a8 can be configured to specific system requirements through the use of hardwired options such as the mode select pins, semi-permanent eeprom control bit specifications (config register), or by use of control registers. the configuration control register (config) is implemented in eeprom cells and controls the presence *on entry x = any address in the row to be erased rowe ldab #$0e stab $103b set to row erase mode stab 0,x write any data to any address in row ldab #$0f stab $103b turn on high voltage jsr dly10 delay 10 ms clr $103b turn off high voltage and set to read mode *on entry, x = address of byte to be erased bytee ldab #$16 stab $103b set to byte erase mode stab 0,x write any data to the address to erase ldab #$17 stab $103b turn on high voltage jsr dly10 delay 10 ms clr $103b turn off high voltage and set to read mode
motorola on-chip memory mc68hc11a8 3-10 technical data 3 of rom and eeprom in the memory map, as well as enabling the cop watchdog system. a security feature to protect data in the eeprom and ram is also available on mask programmed mc68hc11a8s. bits 7, 6, 5, and 4 ?not implemented these bits are always read as zero. nosec ?security mode disable bit this bit is only implemented if it is specifically requested at the time mask rom infor- mation is submitted. when this bit is not implemented it always reads one. when ram and eeprom security are required, the nosec bit can be programmed to zero to enable the software anti-theft mechanism. when clear, the nosec bit pre- vents the selection of expanded multiplexed operating modes. if the mcu is reset in the special bootstrap operating mode while nosec is zero, eeprom, ram, and config are erased before the loading process continues. 0 = enable security mode 1 = disable security mode nocop ?cop system disable 0 = cop watchdog system enabled 1 = cop watchdog system disabled romon ?enable on-chip rom when this bit is clear, the 8k rom is disabled, and that memory space becomes ex- ternally accessed space. in the single-chip operating mode, the internal 8k rom is en- abled regardless of the state of the romon bit. eeon ?enable on-chip eeprom when this bit is clear, the 512-byte eeprom is disabled, and that memory space be- comes externally accessed space. 3.5.3.1 programming and erasure of the config register since the config register is implemented with eeprom cells, special provisions must be made to erase and program this register. the normal eeprom control bits in the pprog register are used for this purpose. programming follows the same proce- dure as programming a byte in the 512-byte eeprom except the config register address is used. erase also follows the same procedure as that used for the eeprom except that only bulk erase can be used on the config register. when the config register is erased, the 512-byte eeprom array is also erased. be sure to check the technical summary for the particular mc68hc11 family member you are using. 7654321 0 $ 1 03f0000 nosec nocop romon eeon config reset (see 3.5.3.2 operation of the configuration mechanism )
mc68hc11a8 on-chip memory motorola technical data 3-11 3 on mask set b96d and newer, the config register may only be programmed or erased while the mcu is operating in the test mode or the bootstrap mode. this inter- lock was added to help prevent accidental changes to the config register. the following program segment demonstrates how to program the config register. this program assumes that the config register was previously erased. the following program segment demonstrates the erase procedure for the config register. *on entry, a = data to be programmed onto config progc ldab #$02 stab $103b set eelat bit (eepgm = 0) staa $103f store data to config address ldab #$03 stab $103b turn on programming voltage jsr dly10 delay 10 ms clr $103b turn off high voltage and set to read mode bulkc ldab #$06 stab $103b set bulk erase mode stab $103f write any data to config ldab #$07 stab $103b turn on programming voltage jsr dly10 delay 10 ms clr $103b turn off high voltage and set to read mode
motorola on-chip memory mc68hc11a8 3-12 technical data 3 3.5.3.2 operation of the configuration mechanism the config register consists of an eeprom byte and static working latches. this register controls the start-up configuration of the mcu. the contents of the eeprom config byte are transferred into static working latches during any reset sequence. the operation of the mcu is controlled directly by these latches and not the actual ee- prom byte. changes to the eeprom byte do not affect operation of the mcu until after the next reset sequence. when programming the config register, the ee- prom byte is being accessed. when the config register is being read, the static latches are being accessed. to change the value in the config register proceed as follows: 1. erase the config register. caution do not issue a reset at this time. 2. program the new value to the config register. 3. issue a reset so the new configuration will take effect.
mc68hc11a8 parallel i/o motorola technical data 4-1 4 4 parallel i/o the mc68hc11a8 has 40 i/o pins arranged as five 8-bit ports. all of these pins serve multiple functions depending on the operating mode and data in the control registers. this section explains the operation of these pins only when they are used for parallel l/o. ports c and d are used as general purpose input and/or output pins under direct con- trol of their respective data direction registers. ports a, b, and e, with the exception of port a pin 7, are fixed direction inputs or outputs and therefore do not have data direc- tion registers. port b, port c, the stra pin, and the strb pin are used for strobed and/or handshake modes of parallel l/o, as well as general purpose l/o. 4.1 general-purpose i/o (ports c and d) each port l/o line has an associated bit in a specific port data register and port data direction register. the data direction register bits are used to specify the primary direc- tion of data for each l/o line. when an output line is read, the value at the input to the pin driver is returned. when a line is configured as an input, that pin becomes a high- impedance input. if a write is executed to an input line, the value does not affect the l/ o pin, but is stored in an internal latch. when the line becomes an output, this value appears at the l/o pin. data direction register bits are cleared by reset to configure l/ o pins as inputs. the as and r/w pins are dedicated to bus control while in the expanded multiplexed operating modes, or parallel l/o strobes (stra and strb) while in the single chip op- erating modes. 4.2 fixed direction i/o (ports a, b, and e) the lines for ports a, b, and e (except for port a bit 7) have fixed data directions. when port a is being used for general purpose l/o, bits 0, 1, and 2 are configured as input only and writes to these lines have no effect. bits 3, 4, 5, and 6 of port a are configured as output only and reads of these lines return the levels sensed at the input to the line drivers. port a bit 7 can be configured as either a general-purpose input or output us- ing the ddra7 bit in the pulse accumulator control register. when port b is being used for general purpose output, it is configured as output only and reads of these lines will return the levels sensed at the input of the pin drivers. port e contains the eight a/d channel inputs, but these lines may also be used as general purpose digital inputs. writes to the port e address have no effect.
motorola parallel i/o mc68hc11a8 4-2 technical data 4 4.3 simple strobed i/o the simple strobed mode of parallel l/o is invoked and controlled by the parallel l/o control register (pioc). this mode is selected when the handshake bit (hnds) in the pioc register is clear. port c becomes a strobed input port with the stra line as the edge-detecting latch command input. also, port b becomes a strobed output port with the strb line as the output strobe. the logic sense of the strb output is selected by the invert strobe b bit (invb) in the pioc register. 4.3.1 strobed input port c in this mode, there are two addresses where port c may be read, the portc data register and the alternate latched port c register (portcl). the data direction regis- ter still controls the data direction of all port c lines. even when the strobed input mode is selected, any or all of the port c lines may still be used for general purpose l/o. the stra line is used as an edge-detecting input, and the edge-select for strobe a (ega) bit in the pioc register defines either falling or rising edge as the significant edge. whenever the selected edge is detected at the stra pin, the current logic levels at port c lines are latched into the portcl register and the strobe a flag (staf) in the pioc register is set. if the strobe a interrupt enable (stai) bit in pioc is also set, an internal interrupt sequence is requested. the strobe a flag (staf) is automatically cleared by reading the pioc register (with staf set) followed by a read of the portcl register. data is latched in the portcl register whether or not the staf flag was previously clear. 4.3.2 strobed output port b in this mode, the strb pin is a strobe output which is pulsed for two e clock periods each time there is a write to port b. the invb bit in the pioc register controls the po- larity of the pulse on the strb line. 4.4 full handshake i/o the full handshake modes of parallel l/o involve port c and the stra and strb lines. there are two basic modes (input and output) and an additional variation on the output handshake mode that allows three-stated operation of port c. in all handshake modes, stra is an edge-detecting input, and strb is a handshake output line. when full input handshake protocol is specified, both general purpose input and/or general purpose output can coexist at port c. when full output handshake protocol is specified, general purpose output can coexist with the handshake outputs at port c, but the three-state feature of the output handshake mode interferes with general pur- pose input in two ways. first, in full output handshake, the port c lines are outputs whenever stra is at its active level regardless of the data direction register bits. this potentially conflicts with any external device trying to drive port c unless that external device has an open-drain type output driver. second, the value returned on reads of port c is the state of the outputs of an internal port c output latch regardless of the states of the data direction register bits, so that the data written for output handshake can be read even if the pins are in a three-state condition.
mc68hc11a8 parallel i/o motorola technical data 4-3 4 4.4.1 input handshake protocol in the input handshake protocol, port c is a latching input port, stra is an edge-sen- sitive latch command from the external system that is driving port c, and strb is a ?eady?output line controlled by logic in the mcu. when a ?eady?condition is recognized, the external device places data on the port c lines, then pulses the stra line. the active edge on the stra line latches the port c data into the portcl register, sets the staf flag (optionally causing an interrupt), and deasserts the strb line. deassertion of the strb line automatically inhibits the external device from strobing new data into port c. reading the portcl latch register (independent of clearing the staf flag) asserts the strb line, indicating that new data may now be applied to port c. the strb line can be configured (with the pls control bit) to be a pulse output (pulse mode) or a static output (interlocked mode). the port c data direction register bits should be cleared for each line that is to be used as a latched input line. however, some port c lines can be used as latched inputs with the input handshake protocol while, at the same time, using some port c lines as static inputs, and some port c lines as static outputs. the input handshake protocol has no effect on the use of port c lines as static inputs or as static outputs. reads of the portc data register always return the static logic level at the port c lines (for lines configured as inputs). writes to either the portc data register or the alternate latched port c register (portcl) send information to the same port c output register without affecting the input handshake strobes. 4.4.2 output handshake protocol in the output handshake protocol, port c is an output port, strb is a ?eady?output, and stra is an edge-sensitive acknowledge input signal, used to indicate to the mcu that the output data has been accepted by the external device. in a variation of this output handshake protocol, stra is also used as an output-enable input, as well as an edge-sensitive acknowledge input. the mcu places data on the port c output lines and then indicates stable data is avail- able by asserting the strb line. the external device then processes the available data and pulses the stra line to indicate that new data may be placed on the port c output lines. the active edge on the stra line causes the strb line to be deasserted and the staf status flag to be set. in response to the staf bit being set, the program transfers new data out of port c as required. writing data to the portcl register causes the data to appear on port c lines and asserts the strb line. there is a variation to the output handshake protocol that allows three-state operation on port c. it is possible to directly connect this 8-bit parallel port to other three-state devices with no additional parts. while the stra input line is inactive, all port c lines obey the data direction specified by the data direction register so that lines which are configured as inputs are high im- pedance. when the stra line is activated, all port c lines are forced to outputs re- gardless of the data in the data direction register. note that in output handshake
motorola parallel i/o mc68hc11a8 4-4 technical data 4 protocol, reads of port c always return the value sensed at the input to the output buff- er regardless of the state of the data direction register bits because the lines would not necessarily have meaningful data on them in the three-state variation of this protocol. this operation makes it impractical to use some port c lines as static inputs, while us- ing others as handshake outputs, but does not interfere with the use of some port c lines as static outputs. port c lines intended as static outputs or normal handshake outputs should have their corresponding data direction register bits set, and lines in- tended as three-state handshake outputs should have their corresponding data direc- tion register bits clear. 4.5 parallel i/o control register (pioc) the parallel handshake l/o functions are available only in the single-chip operating mode. the pioc is a read/write register except for bit 7 which is read only. table 4-1 shows a summary of handshake l/o operations. . note: 1. set by active edge on stra table 4-1 handshake l/o operations summary stai cwom invb 0 staf interrupts inhibited port c outputs normal strb active low 1 staf interrupts enabled port c outputs open-drain strb active high staf clearing hnds oin pls ega port c port b sequence 1 simple strobe mode read pioc with staf = 1 then read portcl 0x x inputs latched into portcl on any active edge on stra. strb pulses on writes to port b. full input handshake read pioc with staf = 1 then read portcl 1 0 0 = strb active level 1 = strb active pulse inputs latched into portcl on any active edge on stra. normal out- put port. unaf- fected in handshake modes full output handshake read pioc with staf = 1 then write to portcl 1 1 0 = strb active level 1 = strb active pulse driven as out- puts if stra at active level. follows ddrc if stra not at active level. normal out- put port. unaf- fected in handshake modes 76543210 $ 1 002 staf stai cwom hnds oin pls ega invb pioc reset 00000u11 0 1 0 1 0 1 stra active edge follow ddrc follow ddrc port c driven
mc68hc11a8 parallel i/o motorola technical data 4-5 4 staf ?strobe a interrupt status flag this bit is set when a selected edge occurs on strobe a. clearing it depends on the state of hnds and oin bits. in simple strobed mode or in full input handshake mode, staf is cleared by reading the pioc register with staf set followed by reading the portcl register. in output handshake, staf is cleared by reading the pioc register with staf set followed by writing to the portcl register. stai ?strobe a interrupt enable mask when the i bit in the condition code register is clear and stai is set, staf (when set) will request an interrupt. cwom ?port c wire-or mode cwom affects all eight port c pins together 0 = port c outputs are normal cmos outputs 1 = port c outputs act as open-drain outputs hnds ?handshake mode when clear, strobe a acts as a simple input strobe to latch data into portcl, and strobe b acts as a simple output strobe which pulses after a write to port b. when set, a handshake protocol involving port c, stra, and strb is selected (see the definition for the oin bit). 0 = simple strobe mode 1 = full input or output handshake mode oin ?output or input handshaking this bit has no meaning when hnds = 0. 0 = input handshake 1 = output handshake pls ?pulse/interlocked handshake operation this bit has no meaning if hnds = 0. when interlocked handshake operation is se- lected, strobe b, once activated, stays active until the selected edge of strobe a is de- tected. when pulsed handshake operation is selected, strobe b is pulsed for two e cycles. 0 = interlocked handshake select 1 = pulsed handshake selected ega ?active edge for strobe a 0 = falling edge of stra is selected. when output handshake is selected, port c lines obey the data direction register while stra is low, but port c is forced to output when stra is high. 1 = rising edge of stra is selected. when output handshake is selected, port c lines obey the data direction register while stra is high, but port c is forced to output when stra is low. invb ?invert strobe b 0 = active level is logic zero 1 = active level is logic one
motorola parallel i/o mc68hc11a8 4-6 technical data 4
mc68hc11a8 serial communications interface motorola technical data 5-1 5 5 serial communications interface this section contains a description of the serial communication interface (sci). 5.1 overview and features a full-duplex asynchronous serial communications interface (sci) is provided with a standard nrz format (one start bit, eight or nine data bits, and one stop bit) and a va- riety of baud rates. the sci transmitter and receiver are functionally independent, but use the same data format and bit rate. ?aud?and ?it rate?are used synonymously in the following description. 5.1.1 sci two-wire system features ?standard nrz (mark/space) format. ?advanced error detection method includes noise detection for noise duration of up to 1/16 bit time. ?full-duplex operation. ?software programmable for one of 32 different baud rates. ?software selectable word length (eight or nine bit words). ?separate transmitter and receiver enable bits. ?capable of being interrupt driven. ?four separate enable bits available for interrupt control. 5.1.2 sci receiver features ?receiver wake-up function (idle or address bit). ?idle line detect. ?framing error detect. ?noise detect. ?overrun detect. ?receiver data register full flag. 5.1.3 sci transmitter features ?transmit data register empty flag. ?transmit complete flag. ?send break. 5.2 data format receive data or transmit data is the serial data which is transferred to the internal data bus from the receive data input pin (rxd), or from the internal bus to the transmit data output pin (txd). the non-return-to-zero (nrz) data format shown in figure 5-1 is used and must meet the following criteria:
motorola serial communications interface mc68hc11a8 5-2 technical data 5 1. the idle line is brought to a logic one state prior to transmission/reception of a character. 2. a start bit (logic zero) is used to indicate the start of a frame. 3. the data is transmitted and received least-significant-bit first. 4. a stop bit (logic one) is used to indicate the end of a frame. a frame consists of a start bit, a character of eight or nine data bits, and a stop bit. 5. a break is defined as the transmission or reception of a low (logic zero) for at least one complete frame time. figure 5-1 data format 5.3 wake-up feature the receiver wake-up feature reduces sci service overhead in multiple receiver sys- tems. software in each receiver evaluates the first character(s) of each message. if the message is intended for a different receiver, the sci can be placed in a sleep mode so that the rest of the message will not generate requests for service. whenever a new message is started, logic in the sleeping receivers causes them to wake up so they can evaluate the initial character(s) of the new message. a sleeping sci receiver can be configured (using the wake control bit in serial com- munications control register 1 (sccr1)) to wake up using either of two methods: idle line wake up or address mark wake up. in idle line wake up, a sleeping receiver wakes up as soon as the rxd line becomes idle. idle is defined as a continuous logic high on the rxd line for ten (or eleven) full bit times. systems using this type of wake up must provide at least one character time of idle between messages to wake up sleeping receivers but must not allow any idle time between characters within a message. in address mark wake up, the most significant bit (msb) in a character is used to indi- cate that the character is an address (1) or a data (0) character. sleeping receivers will wake up whenever an address character is received. systems using this method for wake up would set the msb of the first character in each message and leave it clear for all other characters in the message. idle periods may be present within messages and no idle time is required between messages for this wake up method. 5.4 receive data (rxd) receive data is the serial data which is applied through the input line and the serial communications interface to the internal bus. the receiver circuitry clocks the input at a rate equal to 16 times the baud rate and this time is referred to as the rt clock. 0 12345678 * 0 idle line sci data format 1 start stop start * control bit m in sccr1 selects either 8-bit or 9-bit data.
mc68hc11a8 serial communications interface motorola technical data 5-3 5 once a valid start bit is detected, the start bit, each data bit, and the stop bit are sam- pled three times at rt intervals 8 rt, 9 rt, and 10 rt (1 rt is the position where the bit is expected to start), as shown in figure 5-2 . the value of the bit is determined by voting logic which takes the value of the majority of samples. figure 5-2 sampling technique used on all bits 5.5 start bit detection when the rxd input is detected low, it is tested for three more sample times (referred to as the start edge verification samples in figure 5-3 ). if at least two of these three verification samples detect a logic zero, a valid start bit has been detected, otherwise the line is assumed to be idle. a noise flag is set if all three verification samples do not detect a logic zero. a valid start bit could be assumed with a set noise flag present. if there has been a framing error without detection of a break (10 zeros for 8-bit format or 11 zeros for 9-bit format), the circuit continues to operate as if there actually was a stop bit and the start edge will be placed artificially. the last bit received in the data shift register is inverted to a logic one, and the three logic one start qualifiers (shown in figure 5-3 ) are forced into the sample shift register during the interval when detec- tion of a start bit is anticipated (see figure 5-4 ); therefore, the start bit will be accepted no sooner than it is anticipated. if the receiver detects that a break produced the framing error, the start bit will not be artificially induced and the receiver must actually detect a logic one before the start bit can be recognized. see figure 5-5 . 16 1 8 9 10 rxd sci bit sampling previous bit present bit next bit samples 16 1 vvv rr rrr rr tt ttt tt
motorola serial communications interface mc68hc11a8 5-4 technical data 5 figure 5-3 examples of start bit sampling techniques figure 5-4 sci artificial start following a framing error figure 5-5 sci start bit following a break 16x internal sci sample ex perceived sampling clock 000 0 111 111 11 11 1 r t 2 r t 3 r t 4 r t 5 r t 6 r t 7 r t 8 r t idle rxd 00 1 0 111 111 11 11 idle rxd 00 0 0 011 111 11 11 idle rxd noise noise start edge verification samples start bit perceived start bit sci frm err ex start receive expected stop bit artificial edge data data in bit data data samples (a) case 1, receive line low during artificial edge start receive expected stop bit start edge data data in bit data data samples (b) case 2, receive line high during expected start edge sci frm err ex start receive detected as valid start edge break data in bit data samples expected stop bit start qualifiers start edge verification samples
mc68hc11a8 serial communications interface motorola technical data 5-5 5 5.6 transmit data (txd) transmit data is the serial data from the internal data bus which is applied through the serial communications interface to the output line. the transmitter generates a bit time by using a derivative of the rt clock, thus producing a transmission rate equal to 1/16 that of the receiver sample clock. 5.7 functional description a block diagram of the sci is shown in figure 5-6 . the user has option bits in serial communications control register 1 (sccr1) to determine the ?ake-up?method (wake bit) and data word length (m bit) of the sci. serial communications control reg- ister 2 (sccr2) provides control bits which individually enable/disable the transmitter or receiver (te and re, respectively), enable system interrupts (tie, tcie, ilie) and provide the wake-up enable bit (rwu) and the send break code bit (sbk). the baud rate register (baud) bits allow the user to select different baud rates which may be used as the rate control for the transmitter and receiver. data transmission is initiated by a write to the serial communications data register (scdr). provided the transmitter is enabled, data stored in the scdr is transferred to the transmit data shift register. this transfer of data sets the tdre bit of the sci status register (scsr) and may generate an interrupt if the transmit interrupt is en- abled. the transfer of data to the transmit data shift register is synchronized with the bit rate clock ( figure 5-7 ). all data is transmitted lsb first. upon completion of data transmission, the transmission complete (tc) bit of the scsr is set (provided no pending data, preamble, or break is to be sent), and an interrupt may be generated if the transmit complete interrupt is enabled. if the transmitter is disabled, and the data, preamble, or break (in the transmit shift register) has been sent, the tc bit will also be set. this will also generate an interrupt if the tcie bit is set. if the transmitter is dis- abled in the middle of a transmission, that character will be completed before the trans- mitter gives up control of the txd pin. when the scdr is read, it contains the last data byte received, provided that the re- ceiver is enabled. the rdrf bit of the scsr is set to indicate that a data byte has been transferred from the input serial shift register to the scdr, which can cause an interrupt if the receiver interrupt is enabled. the data transfer from the input serial shift register to the scdr is synchronized by the receiver bit rate clock. the or (over-run), nf (noise), or fe (framing) error bits of the scsr may be set if data reception errors occurred. an idle line interrupt is generated if the idle line interrupt is enabled and the idle bit (which detects idle line transmission) of scsr is set. this allows a receiver that is not in the wake-up mode to detect the end of a message, the preamble of a new message, or to resynchronize with the transmitter. a valid character must be received before the idle line condition or the idle bit will not be set and an idle line interrupt will not be generated. 5.8 sci registers there are five registers used in the serial communications interface and the operation of these registers is discussed in the following paragraphs. reference should be made to the block diagram shown in figure 5-6 .
motorola serial communications interface mc68hc11a8 5-6 technical data 5 5.8.1 serial communications data register (scdr) the serial communications data register performs two functions; i.e., it acts as the re- ceive data register when it is read and as the transmit data register when it is written. figure 5-6 shows this register as two separate registers, namely: the receive data reg- ister and the transmit data register.
mc68hc11a8 serial communications interface motorola technical data 5-7 5 figure 5-6 serial communications interface block diagram rxd data shift reg 8 8 $ 1 02d rxd/ scp1 scr2 scr1 scr0 r8 t8 baud sccr1 $ 1 02b $ 1 02c $ 1 02e flag control receive control transmit control sccr2 tdre tc rdrf idle or nf fe baud tie tcie rie ilie te re rwu sbk $ 1 02f scdr 76543210 txd data shift reg txd/ 10 76 10 76 wake up unit rate generator scp0 m wake internal bus sci tx interrupt tx rx overrun rx reg full idle line complete interrupt reg empty internal bus te sbk re rwu pd1 pd0 m m sci tx clock sci rx clock
motorola serial communications interface mc68hc11a8 5-8 technical data 5 5.8.2 serial communications control register 1 (sccr1) the serial communications control register 1 (sccr1) provides the control bits which: (1) determine the word length, and (2) select the method used for the wake-up feature. r8 ?receive data bit 8 if the m bit is set, this bit provides a storage location for the ninth bit in the receive data character. t8 ?ransmit data bit 8 if the m bit is set, this bit provides a storage location for the ninth bit in the transmit data character. it is not necessary to write to this bit for every character transmitted, only when the sense is to be different than that for the previous character. bit 5 ?not implemented this bit always reads zero. m ?sci character length 0 = 1 start bit, 8 data bits, 1 stop bit 1 = 1 start bit, 9 data bits, 1 stop bit wake ?wake up method select 0 = idle line 1 = address mark bits 2-0 ?not implemented these bits always read zero. 5.8.3 serial communications control register 2 (sccr2) the serial communications control register 2 (sccr2) provides the control bits which enable/disable individual sci functions. tie ?transmit interrupt enable 0 = tdre interrupts disabled 1 = sci interrupt if tdre = 1 76543210 $ 1 02c r8 t8 0 m wake 0 0 0 sccr1 reset u u 000000 76543210 $ 1 02d tie tcie rie ilie te re rwu sbk sccr2 reset 00000000
mc68hc11a8 serial communications interface motorola technical data 5-9 5 tcie ?transmit complete interrupt enable 0 = tc interrupts disabled 1 = sci interrupt if tc = 1 rie ?receive interrupt enable 0 = rdrf and or interrupts disabled 1 = sci interrupt if rdrf or or = 1 ilie ?idle line interrupt enable 0 = idle interrupts disabled 1 = sci interrupt if idle = 1 te ?transmit enable when the transmit enable bit is set, the transmit shift register output is applied to the txd line. depending on the state of control bit m (sccr1), a preamble of 10 (m = 0) or 11 (m = 1) consecutive ones is transmitted when software sets the te bit from a cleared state. after loading the last byte in the serial communications data register and receiving the tdre flag, the user can clear te. transmission of the last byte will then be completed before the transmitter gives up control of the txd pin. while the trans- mitter is active, the data direction register control for port d bit 1 is overridden and the line is forced to be an output. re ?receive enable when the receive enable bit is set, the receiver is enabled. when re is clear, the re- ceiver is disabled and all of the status bits associated with the receiver (rdrf, idle, or, nf, and fe) are inhibited. while the receiver is enabled, the data direction register control for port d bit 0 is overridden and the line is forced to be an input. rwu ?receiver wake up when the receiver wake-up bit is set by the user? software, it puts the receiver to sleep and enables the ?ake up?function. if the wake bit is cleared, rwu is cleared by the sci logic after receiving 10 (m = 0) or 11 (m = 1) consecutive ones. if the wake bit is set, rwu is cleared by the sci logic after receiving a data word whose msb is set. sbk ?send break if the send break bit is toggled set and cleared, the transmitter sends 10 (m = 0) or 11 (m = 1) zeros and then reverts to idle or sending data. if sbk remains set, the trans- mitter will continually send whole blocks of zeros (sets of 10 or 11) until cleared. at the completion of the break code, the transmitter sends at least one high bit to guarantee recognition of a valid start bit. if the transmitter is currently empty and idle, setting and clearing sbk is likely to queue two character times of break because the first break transfers almost immediately to the shift register and the second is then queued into the parallel transmit buffer.
motorola serial communications interface mc68hc11a8 5-10 technical data 5 5.8.4 serial communications status register (scsr) the serial communications status register (scsr) provides inputs to the interrupt logic circuits for generation of the sci system interrupt. tdre ?transmit data register empty the transmit data register empty bit is set to indicate that the content of the serial com- munications data register have been transferred to the transmit serial shift register. this bit is cleared by reading the scsr (with tdre = 1) followed by a write to the scdr. tc ?transmit complete the transmit complete bit is set at the end of a data frame, preamble, or break condi- tion if: 1. te = 1, tdre = 1, and no pending data, preamble, or break is to be transmitted; or 2. te = 0, and the data, preamble, or break in the transmit shift register has been transmitted. the tc bit is a status flag which indicates that one of the above conditions have oc- curred. the tc bit is cleared by reading the scsr (with tc set) followed by a write to the scdr. rdrf ?receive data register full the receive data register full bit is set when the receiver serial shift register is transferred to the scdr. the rdrf bit is cleared when the scsr is read (with rdrf set) followed by a read of the scdr. idle ?idle line detect the idle line detect bit, when set, indicates the receiver has detected an idle line. the idle bit is cleared by reading the scsr with idle set followed by reading scdr. once the idle status flag is cleared, it will not be set again until after the rxd line has been active and be- comes idle again. or ?overrun error the overrun error bit is set when the next byte is ready to be transferred from the receive shift register to the scdr which is already full (rdrf bit is set). when an overrun error occurs, the data which caused the overrun is lost and the data which was already in scdr is not dis- turbed. the or is cleared when the scsr is read (with or set), followed by a read of the scdr. 7654321 0 $ 1 02e tdre tc rdrf idle or nf fe 0 scsr reset 11000000
mc68hc11a8 serial communications interface motorola technical data 5-11 5 nf ?noise flag the noise flag bit is set if there is noise on any of the received bits, including the start and stop bits. the nf bit is not set until the rdrf flag is set. the nf bit is cleared when the scsr is read (with nf set), followed by a read of the scdr. fe ?framing error the framing error bit is set when no stop bit was detected in the received data charac- ter. the fe bit is set at the same time as the rdrf is set. if the byte received causes both framing and overrun errors, the processor will only recognize the overrun error. the framing error flag inhibits further transfer of data into the scdr until it is cleared. the fe bit is cleared when the scsr is read (with fe equal to one) followed by a read of the scdr. bit 0 ?not implemented this bit always reads zero. 5.8.5 baud rate register (baud) the baud rate register selects the different baud rates which may be used as the rate control for the transmitter and receiver. the scp[0:1] bits function as a prescaler for the scr[0:2] bits. together, these five bits provide multiple baud rate combinations for a given crystal frequency. tclr ?clear baud rate counters (test) this bit is used to clear the baud rate counter chain during factory testing. tclr is zero and cannot be set while in normal operating modes. scp1 and scp0 ?sci baud rate prescaler selects the e clock is divided by the factors shown in table 5-1 . this prescaled output pro- vides an input to a divider which is controlled by the scr2-scr0 bits. scr2, scr1, and scr0 ?sci baud rate selects these three bits select the baud rates for both the transmitter and the receiver. the prescaler output described above is further divided by the factors shown in table 5-2 . 76543210 $ 1 02b tclr 0 scp1 scp0 rckb scr2 scr1 scr0 baud reset 00000uuu table 5-1 first prescaler stage scp1 scp0 internal processor clock divided by 00 1 01 3 10 4 11 13
motorola serial communications interface mc68hc11a8 5-12 technical data 5 rckb ?sci baud rate clock check (test) this bit is used during factory testing to enable the exclusive-or of the receiver clock and transmitter clock to be driven out the txd pin. rckb is zero and cannot be set while in normal operating modes. the diagram shown in figure 5-7 and the data given in table 5-3 and table 5-4 illus- trate the divider chain used to obtain the baud rate clock. note that there is a fixed rate divide-by-16 between the receive clock (rt) and the transmit clock (tx). the actual divider chain is controlled by the combined scp[1:0] and scr[2:0] bits in the baud rate register as illustrated. figure 5-7 rate generator division table 5-2 second prescaler stage scr2 scr1 scr0 prescaler output divide by 000 1 001 2 010 4 011 8 100 16 101 32 110 64 111 128 table 5-3 prescaler highest baud rate frequency output scp bit clock* divided by crystal frequency (mhz) 1 0 12.0 8.3886 8.0 4.9152 4.0 3.6864 0 0 1 187.50 k baud 131.072 k baud 125.000 k baud 76.80 k baud 62.50 k baud 57.60 k baud 0 1 3 62.50 k baud 43.690 k baud 41.666 k baud 25.60 k baud 20.833 k baud 19.20 k baud 1 0 4 46.875 k baud 32.768 k baud 31.250 k baud 19.20 k baud 15.625 k baud 14.40 k baud 1 1 13 14.423 k baud 10.082 k baud 9600 baud 5.907 k baud 4800 baud 4430 baud *the clock in the ?lock divided by?column is the internal processor clock ? 4 sci baud div oscillator frequency sci transmitter clock sci receiver clock internal bus clock (ph2) sci prescaler scp[1:0] sci baud select scr[2:0] ? 16
mc68hc11a8 serial communications interface motorola technical data 5-13 5 note the divided frequencies shown in table 5-3 represent baud rates which are the highest transmit baud rate (tx) that can be obtained by a specific crystal frequency and only using the prescaler division. lower baud rates may be obtained by providing a further division us- ing the sci rate select bits as shown below for some representative prescaler outputs. note table 5-4 illustrates how the sci select bits can be used to provide lower transmitter baud rates by further dividing the prescaler output frequency. the five examples are only representative samples. in all cases, the baud rates shown are transmit baud rates (transmit clock) and the receiver clock is 16 times higher in frequency than the actual baud rate. table 5-4 transmit baud rate output for a given prescaler output scr bit divided by representative highest prescaler baud rate output 2 1 0 131.072 k baud 32.768 k baud 76.80 k baud 19.20 k baud 9600 baud 4800 baud 0 0 0 1 131.072 k baud 32.768 k baud 76.80 k baud 19.20 k baud 9600 baud 4800 baud 0 0 1 2 65.536 k baud 16.384 k baud 38.40 k baud 9600 baud 4800 baud 2400 baud 0 1 0 4 32.768 k baud 8.192 k baud 19.20 k baud 4800 baud 2400 baud 1200 baud 0 1 1 8 16.384 k baud 4.096 k baud 9600 baud 2400 baud 1200 baud 600 baud 1 0 0 16 8.192 k baud 2.048 k baud 4800 baud 1200 baud 600 baud 300 baud 1 0 1 32 4.096 k baud 1.024 k baud 2400 baud 600 baud 300 baud 150 baud 1 1 0 64 2.048 k baud 512 baud 1200 baud 300 baud 150 baud 75 baud 1 1 1 128 1.024 k baud 256 baud 600 baud 150 baud 75 baud
motorola serial communications interface mc68hc11a8 5-14 technical data 5
mc68hc11a8 serial peripheral interface motorola technical data 6-1 6 6 serial peripheral interface this section contains a description on the serial peripheral interface (spi). 6.1 overview and features the serial peripheral interface (spi) is a synchronous interface which allows several spi microcontrollers or spi-type peripherals to be interconnected. in a serial periph- eral interface, separate wires (signals) are required for data and clock. in the spi for- mat, the clock is not included in the data stream and must be furnished as a separate signal. the mc68hc11a8 spi system may be configured either as a master or as a slave. the spi contains the following features: ?full duplex, three-wire synchronous transfers ?master or slave operation ?1.5 mhz (maximum) master bit frequency ?3 mhz (maximum) slave bit frequency ?four programmable master bit rates ?programmable clock polarity and phase ?end-of-transmission interrupt flag ?write collision flag protection ?master-master mode fault protection ?easily interfaces to simple expansion parts (plls, d/as, latches, display driv- ers, etc.) 6.2 spi signal descriptions the four basic spi signals (miso, mosi, sck, and ss ) are discussed in the following paragraphs. each signal is described for both the master and slave modes. any spi output line has to have its corresponding data direction register bit set. if this bit is clear, the line is disconnected from the spi logic and becomes a general-purpose input line. any spi input line is forced to act as an input regardless of what is in the corresponding data direction register bit. 6.2.1 master in slave out (miso) the miso line is configured as an input in a master device and as an output in a slave device. it is one of the two lines that transfer serial data in one direction, with the most significant bit sent first. the miso line of a slave device is placed in the high-imped- ance state if the slave is not selected. 6.2.2 master out slave in (mosi) the mosi line is configured as an output in a master device and as an input in a slave device. it is one of the two lines that transfer serial data in one direction with the most significant bit sent first.
motorola serial peripheral interface mc68hc11a8 6-2 technical data 6 6.2.3 serial clock (sck) the serial clock is used to synchronize data movement both in and out of the device through its mosi and miso lines. the master and slave devices are capable of ex- changing a byte of information during a sequence of eight clock cycles. since sck is generated by the master device, this line becomes an input on a slave device. as shown in figure 6-1 , four possible timing relationships may be chosen by using control bits cpol and cpha in the serial peripheral control register (spcr). both master and slave devices must operate with the same timing. the master device al- ways places data on the mosi line a half-cycle before the clock edge (sck), in order for the slave device to latch the data. two bits (spr0 and spr1) in the spcr of the master device select the clock rate. in a slave device, spr0 and spr1 have no effect on the operation of the spi. 6.2.4 slave select (ss ) the slave select (ss ) input line is used to select a slave device. it has to be low prior to data transactions and must stay low for the duration of the transaction. the ss line on the master must be tied high. if it goes low, a mode fault error flag (modf) is set in the serial peripheral status register (spsr). the ss pin can be se- lected to be a general-purpose output by writing a one in bit 5 of the port d data direc- tion register, thus disabling the mode fault circuit. the other three spi lines are dedicated to the spi whenever the spi is on. figure 6-1 data clock timing diagram when cpha = 0, the shift clock is the or of ss with sck. in this clock phase mode, ss must go high between successive characters in an spi message. when cpha = 1, ss may be left low for several spi characters. in cases where there is only one spi slave mcu, its ss line could be tied to v ss as long as cpha = 1 clock modes are used. sck cycle # (for reference) 12345678 sck (cpol = 0) sck (cpol = 1) (cpha = 0) data out (cpha = 1) data out ss (to slave) sample input sample input msb654321lsb msb654321lsb spi transfer format
mc68hc11a8 serial peripheral interface motorola technical data 6-3 6 6.3 functional description figure 6-2 shows a block diagram of the serial peripheral interface circuitry. when a master device transmits data to a slave device via the mosi line, the slave device re- sponds by sending data to the master device via the master? miso line. this implies full duplex transmission with both data out and data in synchronized with the same clock signal. thus, the byte transmitted is replaced by the byte received and eliminates the need for separate transmit-empty and receiver-full status bits. a single status bit (spif) is used to signify that the l/o operation has been completed. the spi is double buffered on read, but not on write. if a write is performed during data transfer, the transfer occurs uninterrupted, and the write will be unsuccessful. this condition will cause the write collision (wcol) status bit in the spsr to be set. after a data byte is shifted, the spif flag of the spsr is set. figure 6-2 serial peripheral interface block diagram in the master mode, the sck pin is an output. it idles high or low, depending on the cpol bit in the spcr, until data is written to the shift register, at which point eight clocks are generated to shift the eight bits of data and then sck goes idle again. in a slave mode, the slave start logic receives a logic low at the ss pin and a clock input at the sck pin. thus, the slave is synchronized with the master. data from the master is received serially at the slave mosi line and loads the 8-bit shift register. after the 8-bit shift register is loaded, its data is parallel transferred to the read buffer. during a write cycle, data is written into the shift register, then the slave waits for a clock train from the master to shift the data out on the slave? miso line. pin control logic miso pd2 divider clock logic spi status (spsr) spi block diagram spie spe dwom mstr cpha cpol spr1 spr0 spi control (spcr) spif wcol modf 8-bit shift register read data buffer msb lsb clock m m s s m s select ? 2 ? 4 ? 16 ? 32 internal mcu system clock spi control spr1 spr0 mosi pd3 sck pd4 ss pd5 mstr spe dwom mstr spe spie spi clock (mstr = 1) 8 spi interrupt
motorola serial peripheral interface mc68hc11a8 6-4 technical data 6 figure 6-3 illustrates the mosi, miso, sck, and ss master-slave interconnections. due to data direction register control of spi outputs and the port d wire-or mode (dwom) option, the spi system can be configured in a variety of ways. systems with a single bidirectional data path rather than separate miso and mosi paths can be ac- commodated. since mc68hc11a8 spi slaves can selectively disable their miso out- put, a broadcast message protocol is also possible. figure 6-3 serial peripheral interface master-slave interconnection 6.4 spi registers there are three registers in the serial peripheral interface which provide control, sta- tus, and data storage functions. these registers are called the serial peripheral control register (spcr), serial peripheral status register (spsr), and serial peripheral data l/ o register (spdr) and are described in the following paragraphs. 6.4.1 serial peripheral control register (spcr) spie ?serial peripheral interrupt enable 0 = spif interrupts disabled 1 = spi interrupt if spif = 1 spe ?serial peripheral system enable 0 = spi system off 1 = spi system on dwom ?port d wire-or mode option dwom affects all six port d pins together. 0 = port d outputs are normal cmos outputs 1 = port d outputs act as open-drain outputs 7654321 0 $ 1 028 spie spe dwom mstr cpol cpha spr1 spr0 spcr reset 000001uu master slave 8-bit shift register 8-bit shift register miso mosi miso mosi sck sck ss ss spi clock generator +5v dual-mcu spi conn
mc68hc11a8 serial peripheral interface motorola technical data 6-5 6 mstr ?master mode select 0 = slave mode 1 = master mode cpol ?clock polarity when the clock polarity bit is cleared and data is not being transferred, a steady state low value is produced at the sck pin of the master device. conversely, if this bit is set, the sck pin will idle high. this bit is also used in conjunction with the clock phase con- trol bit to produce the desired clock-data relationship between master and slave. see figure 6-1 . cpha ?clock phase the clock phase bit, in conjunction with the cpol bit, controls the clock-data relation- ship between master and slave. the cpol bit can be thought of as simply inserting an inverter in series with the sck line. the cpha bit selects one of two fundamentally different clocking protocols. when cpha = 0, the shift clock is the or of sck with ss . as soon as ss goes low the transaction begins and the first edge on sck invokes the first data sample. when cpha = 1, the ss pin may be thought of as a simple output enable control. refer to figure 6-1 . spr1 and spr0?pi clock rate selects these two serial peripheral rate bits select one of four baud rates ( table 6-1 ) to be used as sck if the device is a master; however, they have no effect in the slave mode. 6.4.2 serial peripheral status register (spsr) spif ?spi transfer complete flag the serial peripheral data transfer flag bit is set upon completion of data transfer be- tween the processor and external device. if spif goes high, and if spie is set, a serial peripheral interrupt is generated. clearing the spif bit is accomplished by reading the spsr (with spif set) followed by an access of the spdr. unless spsr is read (with spif set) first, attempts to write to spdr are inhibited. table 6-1 serial peripheral rate selection spr1 spr0 internal processor, clock divide by 00 2 01 4 10 16 11 32 7654321 0 $ 1 029 spif wcol 0 modf 0000 spsr reset 00000000
motorola serial peripheral interface mc68hc11a8 6-6 technical data 6 wcol ?write collision the write collision bit is set when an attempt is made to write to the serial peripheral data register while data transfer is taking place. if cpha is zero a transfer is said to begin when ss goes low and the transfer ends when ss goes high after eight clock cycles on sck. when cpha is one a transfer is said to begin the first time sck be- comes active while ss is low and the transfer ends when the spif flag gets set. clear- ing the wcol bit is accomplished by reading the spsr (with wcol set) followed by an access to spdr. bit 5 ?not implemented this bit always reads zero. modf ?mode fault the mode fault flag indicates that there may have been a multi-master conflict for sys- tem control and allows a proper exit from system operation to a reset or default system state. the modf bit is normally clear, and is set only when the master device has its ss pin pulled low. setting the modf bit affects the internal serial peripheral interface system in the following ways: 1. an spi interrupt is generated if spie = 1. 2. the spe bit is cleared. this disables the spi. 3. the mstr bit is cleared, thus forcing the device into the slave mode. 4. ddrd bits for the four spi pins are forced to zeros. clearing the modf bit is accomplished by reading the spsr (with modf set), fol- lowed by a write to the spcr. control bits spe and mstr may be restored by user software to their original state after the modf bit has been cleared. it is also neces- sary to restore ddrd after a mode fault. bits 3-0 ?not implemented these bits always read zero. 6.4.3 serial peripheral data l/o register (spdr) the serial peripheral data l/o register is used to transmit and receive data on the serial bus. only a write to this register will initiate transmission/reception of another byte, and this will only occur in the master device. at the completion of transmitting a byte of da- ta, the spif status bit is set in both the master and slave devices. when the user reads the serial peripheral data l/o register, a buffer is actually being read. the first spif must be cleared by the time a second transfer of data from the shift register to the read buffer is initiated or an overrun condition will exist. in cases of overrun the byte which causes the overrun is lost. a write to the serial peripheral data l/o register is not buffered and places data directly into the shift register for transmission.
mc68hc11a8 analog-to-digital converter motorola technical data 7-1 7 7 analog-to-digital converter the mc68hc11a8 includes an 8-channel, multiplexed-input, successive approxima- tion, analog-to-digital (a/d) converter with sample and hold to minimize conversion er- rors caused by rapidly changing input signals. two dedicated lines (v rl , v rh ) are provided for the reference voltage inputs. these pins may be connected to a separate or isolated power supply to ensure full accuracy of the a/d conversion. the 8-bit a/d converter has a total error of 1 lsb which includes 1/2 lsb of quantization error and accepts analog inputs which range from v rl to v rh . smaller analog input ranges can also be obtained by adjusting v rh and v rl to the desired upper and lower limits. conversion is specified and tested for v rl = 0 v and v rh = 5 v 10%; however, lab- oratory characterization over the full temperature range indicates little or no degrada- tion with v rh -v rl as low as 2.5 to 3 v. the a/d system can be operated with v rh below v dd and/or v rl above v ss as long as v rh is above v rl by enough to support the con- versions (2.5 to 5.0 v). each conversion is accomplished in 32 mcu e clock cycles, provided the e clock rate is greater than 750 khz. for systems which operate at clock rates less than 750 khz, an internal r-c oscillator must be used to clock the a/d sys- tem. the internal r-c oscillator is selected by setting the csel bit in the option reg- ister. note only four a/d input channels are available in the 48-pin version. 7.1 conversion process the a/d converter is ratiometric. an input voltage equal to v rl converts to $00 and an input voltage equal to v rh converts to $ff (full scale), with no overflow indication. for ratiometric conversions, the source of each analog input should use v rh as the supply voltage and be referenced to v rl . figure 7-1 shows the detailed sequence for a set of four conversions. this sequence begins one e clock cycle after a write to the a/d control/status register (adctl). fig- ure 7-2 shows a model of the port e a/d channel inputs. this model is useful for un- derstanding the effects of external circuitry on the accuracy of a/d conversions. 7.2 channel assignments a multiplexer allows the single a/d converter to select one of sixteen analog signals. eight of these channels correspond to port e input lines to the mcu, four of the chan- nels are for internal reference points or test functions, and four channels are reserved for future use. table 7-1 shows the signals selected by the four channel select control bits.
motorola analog-to-digital converter mc68hc11a8 7-2 technical data 7 7.3 single-channel operation there are two variations of single-channel operation. in the first variation (scan = 0), the single selected channel is converted four consecutive times with the first result be- ing stored in a/d result register 1 (adr1) and the fourth result being stored in register adr4. after the fourth conversion is complete, all conversion activity is halted until a new conversion command is written to the adctl register. in the second variation (scan = 1), conversions continue to be performed on the selected channel with the fifth conversion being stored in register adr1 (overwriting the first conversion result), the sixth conversion overwrites adr2, and so on. figure 7-1 a/d conversion sequence figure 7-2 a/d pin model 7.4 multiple-channel operation there are two variations in multiple-channel operation. in the first variation (scan = 0), the selected group of four channels are converted, one time each, with the first re- sult being stored in register adr1 and the fourth result being stored in register adr4. after the fourth conversion is complete, all conversion activity is halted until a new con- version command is written to the adctl register. in the second variation (scan = 1), conversions continue to be performed on the selected group of channels with the fifth conversion being stored in register adr1 (replacing the earlier conversion result for the first channel in the group), the sixth conversion overwrites adr2, and so on. 0 32 64 96 128 ?e cycles sample analog input successive approximation sequence msb 4 cycles bit 6 2 cyc bit 5 2 cyc bit 4 2 cyc bit 3 2 cyc bit 2 2 cyc bit 1 2 cyc lsb 2 cyc 2 cyc end repeat sequence, scan = 1 set cc flag convert first channel, update adr1 convert second channel, update adr2 convert third channel, update adr3 convert fourth channel, update adr4 12 e cycles write to adctl e clock diffusion/poly < 2 pf coupler 400 na junction leakage + ~20v ?~0.7v * * this analog switch is closed only during the 12-cycle sample time. v rl input + ~12v ?~0.7v protection device 4 k w dummy n-channel output device analog input pin ~ 20 pf dac capacitance
mc68hc11a8 analog-to-digital converter motorola technical data 7-3 7 7.5 operation in stop and wait modes if a conversion sequence is still in process when either the stop or wait mode is entered, the conversion of the current channel is suspended. when the mcu resumes normal operation, that channel will be re-sampled and the conversion sequence re- sumed. as the mcu exits the wait mode, the a/d circuits are stable and valid results can be obtained on the first conversion. however, in stop mode, all analog bias cur- rents are disabled and it becomes necessary to allow a stabilization period when leav- ing the stop mode. if the stop mode is exited with a delay, there will be enough time for these circuits to stabilize before the first conversion. if the stop mode is exited with no delay (dly bit in option register equal to zero), sufficient time must be al- lowed for the a/d circuitry to stabilize to avoid invalid results (see 7.8 a/d power-up and clock select ). 7.6 a/d control/status register (adctl) all bits in this register may be read or written, except bit 7 which is a read-only status indicator and bit 6 which always reads as a zero. ccf ?conversions complete flag this read-only status indicator is set when all four a/d result registers contain valid conversion results. each time the adctl register is written, this bit is automatically cleared to zero and a conversion sequence is started. in the continuous modes, con- versions continue in a round-robin fashion and the result registers continue to be up- dated with current data even though the ccf bit remains set. note the user must write to register adctl to initiate conversion. to abort a conversion in progress, write to the adctl register and a new con- version sequence is initiated immediately. bit 6 ?not implemented this bit always reads zero. scan ?continuous scan control when this control bit is clear, the four requested conversions are performed once to fill the four result registers. when this control bit is set, conversions continue in a round-robin fashion with the result registers being updated as data becomes available. mult ?multiple-channel/single channel control when this bit is clear, the a/d system is configured to perform four consecutive con- versions on the single channel specified by the four channel select bits cd through ca (bits [3:0] of the adctl register). when this bit is set, the a/d system is configured to perform a conversion on each of four channels where each result register corresponds to one channel. 7654321 0 $ 1 030 ccf 0 scan mult cd cc cb ca adctl reset 0 0 uuuuuu
motorola analog-to-digital converter mc68hc11a8 7-4 technical data 7 caution when the multiple channel continuous scan mode is used, extra care is needed in the design of circuitry driving the a/d inputs. refer to the a/d pin model and a/d conversion sequence figures in addition to the following discussion. the charge on the capacitive dac array pri- or to the sample time is related to the voltage on the previously con- verted channel. a charge share situation exists between the internal dac capacitance and the external circuit capacitance. although the amount of charge involved is small the rate at which it is repeated is every 64 microseconds for an e clock of 2 mhz. the rc charging rate of the external circuit must be balanced against this charge shar- ing effect to avoid accuracy errors. cd ?channel select d cc ?channel select c cb ?channel select b ca ?channel select a these four bits are used to select one of 16 a/d channels (see table 7-1 ). when a multiple channel mode is selected (mult = 1), the two least-significant channel select bits (cb and ca) have no meaning and the cd and cc bits specify which group of four channels are to be converted. the channels selected by the four channel select control bits are shown in table 7-1 . *not available in 48-pin package versions. **this group of channels used during factory test. table 7-1 analog-to-digital channel assignments channel result in adrx cd cc cb ca signal if mult=1 0000 an0 adr1 0001 an1 adr2 0010 an2 adr3 0011 an3 adr4 0100 an4* adr1 0101 an5* adr2 0110 an6* adr3 0111 an7* adr4 1000 reserved adr1 1001 reserved adr2 1010 reserved adr3 1011 reserved adr4 1100v rh pin** adr1 1101v rl pin** adr2 1110(v rh )/2** adr3 1111 reserved** adr4
mc68hc11a8 analog-to-digital converter motorola technical data 7-5 7 7.7 a/d result registers 1, 2, 3, and 4 (adr1, adr2, adr3, and adr4) the a/d result registers are read-only registers used to hold an 8-bit conversion result. writes to these registers have no effect. data in the a/d result registers is valid when the ccf flag bit in the adctl register is set, indicating a conversion sequence is com- plete. if conversion results are needed sooner refer to figure 7-1 . for example the adr1 result is valid 33 cycles after an adctl write. refer to the a/d channel assign- ments in table 7-1 for the relationship between the channels and the result registers. 7.8 a/d power-up and clock select a/d power-up is controlled by bit 7 (adpu) of the option register. when adpu is cleared, power to the a/d system is disabled. when adpu is set, the a/d system is enabled. a delay of as much as 100 microseconds is required after turning on the a/ d converter to allow the analog bias voltages to stabilize. clock select is controlled by bit 6 (csel) of the option register. when csel is cleared, the a/d system uses the system e clock. when csel is set, the a/d system uses an internal r-c clock source, which runs at about 1.5 mhz. the mcu e clock is not suitable to drive the a/d system if it is operating below 750 khz, in which case the r-c internal clock should be selected. a delay of 10 ms is required after changing csel from zero to one to allow the r-c oscillator to start and internal bias voltages to settle. refer to 9.1.5 configuration options register (option) for additional infor- mation. note that the csel control bit also enables a separate r-c oscillator to drive the eeprom charge pump. when the a/d system is operating with the mcu e clock, all switching and comparator operations are synchronized to the mcu clocks. this allows the comparator results to be sampled at quiet clock times to minimize noise errors. the internal r-c oscillator is asynchronous to the mcu clock so noise will affect a/d results more while csel = 1.
motorola analog-to-digital converter mc68hc11a8 7-6 technical data 7
mc68hc11a8 programmable timer, rti, and pulse accumulator motorola technical data 8-1 8 8 programmable timer, rti, and pulse accumulator this section describes the 16-bit programmable timer, the real time interrupt, and the pulse accumulator system. 8.1 programmable timer the timer has a single 16-bit free-running counter which is clocked by the output of a four-stage prescaler (divide by 1, 4, 8, or 16), which is in turn driven by the mcu e clock. input functions are called input captures. these input captures record the count from the free-running counter in response to a detected edge on an input line. output functions, called output compares, cause an output action when there is a match be- tween a 16-bit output-compare register and the free-running counter. this timer sys- tem has three input capture registers and five output compare registers. 8.1.1 counter the key element in the timer system is a 16-bit free-running counter, or timer counter register. after reset, the mcu is configured to use the e clock as the input to the free- running counter. initialization software may optionally reconfigure the system to use one of the three prescaler values. the prescaler control bits can only be written once during the first 64 cycles after a reset. software can read the counter at any time with- out affecting its value because it is clocked and read during opposite phases of the e clock. a counter read should first address the most significant byte. an mpu read of this ad- dress causes the least significant byte to be transferred to a buffer. this buffer is not affected by reset and is accessed when reading the least significant byte of the counter. for double byte read instructions, the two accesses occur on consecutive bus cycles. the counter is cleared to $0000 during reset and is a read-only register with one ex- ception. in test modes only, any mpu write to the most significant byte presets the counter to $fff8 regardless of the value involved in the write. when the count changes from $ffff to $0000, the timer overflow flag (tof) bit is set in timer interrupt flag register 2 (tflg2). an interrupt can be enabled by setting the interrupt enable bit (toi) in timer interrupt mask register 2 (tmsk2). 8.1.2 input capture the input capture registers are 16-bit read-only registers which are not affected by re- set and are used to latch the value of the counter when a defined transition is sensed by the corresponding input capture edge detector. the level transition which triggers counter transfer is defined by the corresponding input edge bits (edgxb, edgxa) in tctl2.
motorola programmable timer, rti, and pulse accumulator mc68hc11a8 8-2 technical data 8 the result obtained by an input capture corresponds to the value of the counter one e clock cycle after the transition which triggered the edge-detection logic. the selected edge transition sets the icxf bit in timer interrupt flag register 1 (tflg1) and can cause an interrupt if the corresponding icxl bit(s) is (are) set in the timer interrupt mask register 1 (tmsk1). a read of the input capture register? most significant byte inhibits captures for one e cycle to allow a double-byte read of the full 16-bit register. 8.1.3 output compare all output compare registers are 16-bit read/write registers which are initialized to $ffff by reset. they can be used as output waveform controls or as elapsed time indicators. if an output compare register is not used, it may be used as a storage loca- tion. all output compare registers have a separate dedicated comparator for comparing against the free-running counter. if a match is found, the corresponding output com- pare flag (ocxf) bit in tflg1 is set and a specified action is automatically taken. for output compare functions two through five the automatic action is controlled by pairs of bits (omx and olx) in the timer control register 1 (tctl1). each pair of control bits are encoded to specify the output action to be taken as a result of a successful ocx compare. the output action is taken on each successful compare regardless of wheth- er or not the ocxf flag was previously clear. an interrupt can also accompany a successful output compare, provided that the cor- responding interrupt enable bit (ocxl) is set in tmsk1. after a write cycle to the most significant byte, output compares are inhibited for one e cycle in order to allow writing two consecutive bytes before making the next compar- ison. if both bytes of the register are to be changed, a double-byte write instruction should be used in order to take advantage of the compare inhibit feature. writes can be made to either byte of the output compare register without affecting the other byte. a write-only register, timer compare force (cforc), allows forced compares. five of the bit positions in the cforc register correspond to the five output compares. to force a compare, or compares, a write is done to cforc register with the associated bits set for each output compare that is to be forced. the action taken as a result of a forced compare is the same as if there was a match between the ocx register and the free-running counter, except that the corresponding interrupt status flag bits are not set. output actions are synchronized to the prescaled timer clock so there could be as much as 16 e clock cycles of delay between the write to cforc and the output action. 8.1.4 output compare 1 i/o pin control unlike the other four output compares, output compare 1 can automatically affect any or all of the five output pins (bits 3-7) in port a as a result of a successful compare be- tween the oc1 register and the 16-bit free-running counter. the two 5-bit registers used in conjunction with this function are the output compare 1 mask register (oc1m) and the output compare 1 data register (oc1d).
mc68hc11a8 programmable timer, rti, and pulse accumulator motorola technical data 8-3 8 register oc1m is used to specify the bits of port a (i/o and timer port) which are to be affected as a result of a successful oc1 compare. register oc1d is used to specify the data which is to be stored to the affected bits of port a as the result of a successful oc1 compare. if an oc1 compare and another output compare occur during the same e cycle and both attempt to alter the same port a line, the oc1 compare prevails. this function allows control of multiple l/o pins automatically with a single output com- pare. another intended use for the special l/o pin control on output compare 1 is to allow more than one output compare to control a single l/o pin. this allows pulses as short as one e clock cycle to be generated. 8.1.5 timer compare force register (cforc) the timer compare force register is used to force early output compare actions. the cforc register is an 8-bit write-only register. reads of this location have no meaning and always return logic zeros. note that the compare force function is not generally recommended for use with the output toggle function because a normal compare oc- curring immediately before or after the force may result in undesirable operation. foc1-foc5 ?force output compare x action 0 = has no meaning 1 = causes action programmed for output compare x, except the ocxf flag bit is not set. bits 2-0 ?not implemented these bits always read zero. 8.1.6 output compare 1 mask register (oc1m) this register is used in conjunction with output compare 1 to specify the bits of port a which are affected as a result of a successful oc1 compare. the bits of the oc1m register correspond bit-for-bit with the lines of port a (lines 7 through 3 only). for each bit that is affected by the successful compare, the corre- sponding bit in oc1m should be set to one. 7654321 0 $ 1 00b foc1 foc2 foc3 foc4 foc5 0 0 0 cforc reset 00000000 7654321 0 $ 1 00c oc1m7 oc1m6 oc1m5 oc1m4 oc1m3 0 0 0 oc1m reset 00000000
motorola programmable timer, rti, and pulse accumulator mc68hc11a8 8-4 technical data 8 note that the pulse accumulator function shares line 7 of port a. if the ddra7 bit in the pulse accumulator control register (pactl) is set, then port a line 7 is configured as an output and oc1 can obtain access by setting oc1m bit 7. in this condition if the paen bit in the pactl register is set, enabling the pulse accumulator input, then oc1 compares cause a write of oc1d bit 7 to an internal latch, and the output of that latch drives the pin and the pulse accumulator input. this action can then cause the pulse accumulator to take the appropriate action (pulse count or gate modes). 8.1.7 output compare 1 data register (oc1d) this register is used in conjunction with output compare 1 to specify the data which is to be stored to the affected bits of port a as the result of a successful oc1 compare. the bits of the oc1d register correspond bit-for-bit with the lines of port a (lines 7 thru 3 only). when a successful oc1 compare occurs, for each bit that is set in oc1m, the corresponding data bit in oc1d is stored in the corresponding bit of port a. if there is a conflicting situation where an oc1 compare and another output compare function occur during the same e cycle with both attempting to alter the same port a line, the oc1 action prevails. 8.1.8 timer control register 1 (tctl1) om2, om3, om4, and om5 ?output mode ol2, ol3, ol4, and ol5 ?output level these two control bits (omx and olx) are encoded to specify the output action taken as a result of a successful ocx compare. 76543210 $ 1 00d oc1d7 oc1d6 oc1d5 oc1d4 oc1d3 0 0 0 oc1d reset 00000000 7654321 0 $ 1 020 om2 ol2 om3 ol3 om4 ol4 om5 ol5 tctl1 reset 00000000 omx olx action taken upon successful compare 0 0 timer disconnected from output pin logic 0 1 toggle ocx output line 1 0 clear ocx output line to zero 1 1 set ocx output line to one
mc68hc11a8 programmable timer, rti, and pulse accumulator motorola technical data 8-5 8 8.1.9 timer control register 2 (tctl2) bits 7-6 ?not implemented these bits always read zero. edgxb and edgxa ?input capture x edge control. these two bits (edgxb and edgxa) are cleared to zero by reset and are encoded to configure the input sensing logic for input capture x as follows: 8.1.10 timer interrupt mask register 1 (tmsk1) ocxl ?output compare x interrupt if the ocxl enable bit is set when the ocxf flag bit is set, a hardware interrupt se- quence is requested. icxl ?input capture x interrupt if the icxl enable bit is set when the icxf flag bit is set, a hardware interrupt sequence is requested. 8.1.11 timer interrupt flag register 1 (tflg1) timer interrupt flag register 1 is used to indicate the occurrence of timer system events, and together with the tmsk1 register allows the timer subsystem to operate in a polled or interrupt driven system. for each bit in tflg1, there is a corresponding bit in tmsk1 in the same bit position. if the mask bit is set, each time the conditions for the corresponding flag are met, a hardware interrupt sequence is requested as well as the flag bit being set. these timer system status flags are cleared by writing a one to the bit positions corre- sponding to the flag(s) which are to be cleared. bit manipulation instructions would be inappropriate for flag clearing because they are read-modify-write instructions. even though the instruction mask implies that the programmer is only interested in some of the bits in the manipulated location, the entire location is actually read and rewritten which may clear other bits in the register. 7654321 0 $ 1 021 0 0 edg1b edg1a edg2b edg2a edg3b edg3a tctl2 reset 00000000 edgxb edbxa configuration 0 0 capture disabled 0 1 capture on rising edges only 1 0 capture on falling edges only 1 1 capture on any (rising or falling) edge 7654321 0 $ 1 022 oc1i oc2i oc3i oc4i oc5i ic1i ic2i ic3i tmsk1 reset 00000000
motorola programmable timer, rti, and pulse accumulator mc68hc11a8 8-6 technical data 8 ocxf ?output compare x flag this flag bit is set each time the timer counter matches the output compare register x value. a write of a zero does not affect this bit. a write of a one causes this bit to be cleared. icxf ?input capture x flag this flag is set each time a selected active edge is detected on the icx input line. a write of a zero does not affect this bit. a write of a one causes this bit to be cleared. 8.1.12 timer interrupt mask register 2 (tmsk2) timer interrupt mask register 2 is used to control whether or not a hardware interrupt sequence is requested as a result of a status bit being set in timer interrupt flag register 2. in addition, two timer prescaler bits are included in this register. for each of the four most significant bits in timer flag register 2, (tflg2), there is a corresponding bit in the timer mask register 2 (tmsk2) in the same bit position. toi ?timer overflow interrupt enable 0 = tof interrupts disabled 1 = interrupt requested when tof = 1 rtii ?rti interrupt enable 0 = rtif interrupts disabled 1 = interrupt requested when rtif = 1 paovi ?pulse accumulator overflow interrupt enable 0 = paovf interrupts disabled 1 = interrupt requested when paovf = 1 paii ?pulse accumulator input interrupt enable 0 = paif interrupts disabled 1 = interrupt requested when paif = 1 bits 3 and 2 ?not implemented these bits always read zero. 7654321 0 $ 1 023 oc1f oc2f oc3f oc4f oc5f ic1f ic2f ic3f tflg1 reset 00000000 7654321 0 $ 1 024 toi rtii paovi paii 0 0 pr1 pr0 tmsk2 reset 00000000
mc68hc11a8 programmable timer, rti, and pulse accumulator motorola technical data 8-7 8 pr1 and pr0 ?timer prescaler selects these two bits may be read at any time but may only be written during initialization. writes are disabled after the first write or after 64 e cycles out of reset. if the mcu is in special test or special bootstrap mode, then these two bits may be written any time. these two bits specify the timer prescaler divide factor. 8.1.13 timer interrupt flag register 2 (tflg2) timer interrupt flag register 2 is used to indicate the occurrence of timer system events and, together with the tmsk2 register, allows the timer subsystems to operate in a polled or interrupt driven system. for each bit in timer flag register 2 (tflg2), there is a corresponding bit in timer mask register 2 (tmsk2) in the same bit position. if the enable bit is set each time the conditions for the corresponding flag are met, a hard- ware interrupt sequence is requested as well as the flag bit being set. the timer system status flags are cleared by writing a one to the bit positions corre- sponding to the flag(s) which are to be cleared. bit manipulation instructions would be inappropriate for flag clearing because they are read-modify-write instructions. even though the instruction mask implies that the programmer is only interested in some of the bits in the manipulated location, the entire location is actually read and rewritten which may clear other bits in the register. tof ?timer overflow this bit is cleared by reset. it is set to one each time the 16-bit free-running counter advances from a value of $ffff to $0000. this bit is cleared by a write to the tflg2 register with bit 7 set. rtif ?real time interrupt flag this bit is set at each rising edge of the selected tap point. this bit is cleared by a write to the tflg2 register with bit 6 set. paovf ?pulse accumulator overflow interrupt flag this bit is set when the count in the pulse accumulator rolls over from $ff to $00. this bit is cleared by a write to the tflg2 register with bit 5 set. pr1 pr0 prescaler 00 ? 1 01 ? 4 10 ? 8 11 ? 16 7654321 0 $ 1 025 tof rtif paovf paif 0000 tflg2 reset 00000000
motorola programmable timer, rti, and pulse accumulator mc68hc11a8 8-8 technical data 8 paif ?pulse accumulator input edge interrupt flag this bit is set when an active edge is detected on the pai input pin. this bit is cleared by a write to the tflg2 register with bit 4 set. bits 3-0 ?not implemented these bits always read zero. 8.2 real-time interrupt the real-time interrupt feature on the mcu is configured and controlled by using two bits (rtr1 and rtr0) in the pactl register to select one of four interrupt rates. the rtii bit in the tmsk2 register enables the interrupt capability. every timeout causes the rtif bit in tflg2 to be set, and if rtii is set, an interrupt request is generated. after reset, one entire real time interrupt period elapses before the rtif flag is set for the first time. 8.3 pulse accumulator the pulse accumulator is an 8-bit read/write counter which can operate in either of two modes (external event counting or gated time accumulation) depending on the state of the pamod control bit in the pactl register. in the event counting mode, the 8-bit counter is clocked to increasing values by an external pin. the maximum clocking rate for the external event counting mode is e clock divided by two. in the gated time ac- cumulation mode, a free-running e clock/64 signal drives the 8-bit counter, but only while the external pai input pin is enabled. the pulse accumulator uses port a bit 7 as its pai input, but this pin also shares func- tion as a general purpose l/o pin and as a timer output compare pin. normally port a bit 7 would be configured as an input when being used for the pulse accumulator. note that even when port a bit 7 is configured for output, this pin still drives the input to the pulse accumulator. 8.3.1 pulse accumulator control register (pactl) four bits in this register are used to control an 8-bit pulse accumulator system and two other bits are used to select the rate for the real time interrupt system. ddra7 ?data direction for port a bit 7 0 = input only 1 = output paen ?pulse accumulator system enable 0 = pulse accumulator off 1 = pulse accumulator on 7654321 0 $ 1 026 ddra7 paen pamod pedge 0 0 rtr1 rtr0 pactl reset 00000000
mc68hc11a8 programmable timer, rti, and pulse accumulator motorola technical data 8-9 8 pamod ?pulse accumulator mode 0 = external event counting 1 = gated time accumulation pedge ?pulse accumulator edge control this bit has different meanings depending on the state of the pamod bit. bits 3-2 ?not implemented these bits always read zero. rtr1 and rtr0 ?rti interrupt rate selects these two bits select one of four rates for the real time periodic interrupt circuit (see table 8-1 ). reset clears these two bits and after reset, a full rti period elapses before the first rti interrupt. pamod pedge action on clock 0 0 pai falling edge increments the counter 0 1 pai rising edge increments the counter 1 0 a zero on pai inhibits counting 1 1 a one on pai inhibits counting table 8-1 real time interrupt rate versus rtr1 and rtr0 xtal = xtal = xtal = xtal = xtal = xtal = rtr1 rtr0 rate 12.0 mhz 2 23 8.0 mhz 4.9152 mhz 4.0 mhz 3.6864 mhz 00 2 13 ? e 8.192 ms 3.91 ms 4.10 ms 6.67 ms 8.19 ms 8.89 ms 01 2 14 ? e 16.384 ms 7.81 ms 8.19 ms 13.33 ms 16.38 ms 17.78 ms 10 2 15 ? e 32.768 ms 15.62 ms 16.38 ms 26.67 ms 32.77 ms 35.56 ms 11 2 16 ? e 65.536 ms 31.25 ms 32.77 ms 53.33 ms 65.54 ms 71.11 ms e = 3.0 mhz 2.1 mhz 2.0 mhz 1.2288 mhz 1.0 mhz 921.6 khz
motorola programmable timer, rti, and pulse accumulator mc68hc11a8 8-10 technical data 8
mc68hc11a8 resets, interrupts, and low power modes motorola technical data 9-1 9 9 resets, interrupts, and low power modes this section provides a description of the resets, interrupts, and low power modes. the computer operating properly (cop) watchdog system and clock monitor are described as part of the reset system. the interrupt description includes a flowchart to illustrate how interrupts are executed. 9.1 resets the mcu has four possible types of reset: an active low external reset pin (reset ), a power-on reset, a computer operating properly (cop) watchdog timer reset, and a clock monitor reset. 9.1.1 external reset pin the reset pin is used to reset the mcu and allow an orderly software start-up pro- cedure. when a reset condition is sensed, this pin is driven low by an internal device for four e clock cycles, then released, and two e clock cycles later it is sampled. if the pin is still low, it means that an external reset has occurred. if the pin is high, it implies that the reset was initiated internally by either the watchdog timer (cop) or the clock monitor (refer to figure 9-1 ). this method of differentiation between internal and ex- ternal reset conditions assumes that the reset pin will rise to a logic one in less than two e clock cycles once it is released and that an externally generated reset should stay active for at least eight e clock cycles. since there is eeprom on chip, it is very important to control reset during power tran- sitions. if the reset line is not held low while v dd is below its minimum operating level, the eeprom contents could be corrupted. corruption occurs due to improper instruc- tion execution when there is not sufficient voltage to execute instructions correctly. both eeprom memories and the eeprom based config register are subject to this potential problem. a low voltage inhibit (lvi) circuit which holds reset low whenever v dd is below its min- imum operating level is required to protect against eeprom corruption. figure 9-2 shows an example of reset circuits with lvi capabilities. the best circuit for a particular application may be different from the suggested circuit. 9.1.2 power-on reset the power-on reset occurs when a positive transition is detected on v dd . the power- on reset is used strictly for power turn-on conditions and should not be used to detect any drops in power
motorola resets, interrupts, and low power modes mc68hc11a8 9-2 technical data 9 figure 9-1 reset timing supply voltage. the power-on circuitry provides a 4064 cycle time delay from the time of the first oscillator operation. in a system where e = 2 mhz, power on reset lasts about 2 milliseconds. if the external reset pin is low at the end of the power-on delay time, the mcu remains in the reset condition until the reset pin goes high. 9.1.2.1 cpu after reset the cpu fetches the restart vector from locations $fffe and $ffff ($bffe and $bfff if in special bootstrap or special test operating mode) during the first three cycles, and begins executing instructions. the stack pointer and other cpu registers are indeterminate immediately after reset; however, the x and i interrupt mask bits in the condition code register are set to mask any interrupt requests. also, the s bit in the condition code register is set to disable the stop mode. fffe fffe fffe fffe fffe fffe fffe fffe fffe fffe ffff vector fetch 1 e reset pin enable reset pin pull-down (internal signal) external reset case fffe fffe fffe fffe fffe fffe fffe fffa fffb vector fetch 1 e reset pin cop watchdog reset case fffe fffe fffe fffe fffe fffe fffe fffe fffc fffd vector fetch 1 e reset pin clock monitor reset case fffe reset pin sampled at this time. low level indicates external reset. high level indicates clock monitor or cop system reset. 1
mc68hc11a8 resets, interrupts, and low power modes motorola technical data 9-3 9 figure 9-2 simple lvi reset circuit 9.1.2.2 memory map after reset, the init register is initialized to $01, putting the 256 bytes of ram at loca- tions $0000 through $00ff and the control registers at locations $1000 through $103f. the 8k-byte rom and/or the 512-byte eeprom may or may not be present in the memory map because the two bits that enable them in the config register are eeprom cells and are not affected by reset or power down. 9.1.2.3 parallel l/o when a reset occurs in expanded multiplexed operating mode, the 18 pins used for parallel l/o are dedicated to the expansion bus. if a reset occurs in the single-chip op- erating mode, the staf, stai, and hnds bits in the parallel input/output control reg- ister (pioc) are cleared so that no interrupt is pending or enabled, and the simple strobed mode (rather than full handshake mode) of parallel l/o is selected. the cwom bit in pioc is cleared so port c is not in wired-or mode. port c is initialized as an input port (ddrc = $00), port b is a general purpose output port with all bits cleared. stra is the edge-sensitive strobe a input and the active edge is initially configured to detect rising edges (ega bit in the pioc set), and strb is the strobe b output and is initially a logic zero (the invb bit in the pioc is set). port c, port d bits 0 through 5, port a bits 0, 1, 2, and 7, and port e are configured as general purpose high-impedance inputs. port b and bits 3 through 6 of port a have their directions fixed as outputs and their reset state is a logic zero. 9.1.2.4 timer during reset, the timer system is initialized to a count of $0000. the prescaler bits are cleared, and all output compare registers are initialized to $ffff. all input capture reg- isters are indeterminate after reset. the output compare 1 mask (oc1m) register is cleared so that successful oc1 compares do not affect any l/o pins. the other four output compares are configured to not affect any l/o pins on successful compares. all three input capture edge-detector circuits are configured for ?apture disabled?opera- tion. the timer overflow interrupt flag and all eight timer function interrupt flags are cleared. all nine timer interrupts are disabled since their mask bits are cleared. to reset of 68hc11 (and other system devices) v dd v dd motorola mc34064 4.7k
motorola resets, interrupts, and low power modes mc68hc11a8 9-4 technical data 9 9.1.2.5 real-time interrupt the real time interrupt flag is cleared and automatic hardware interrupts are masked. the rate control bits are cleared after reset and may be initialized by software before the real time interrupt system is used. 9.1.2.6 pulse accumulator the pulse accumulator system is disabled at reset so that the pai input pin defaults to being a general purpose input pin. 9.1.2.7 cop the cop watchdog system is enabled if the nocop control bit in the system config- uration control register (eeprom cell) is clear, and disabled if nocop is set. the cop rate is set for the shortest duration timeout. 9.1.2.8 sci serial l/o the reset condition of the sci system is independent of the operating mode. at reset, the sci baud rate is indeterminate and must be established by a software write to the baud register. all transmit and receive interrupts are masked and both the transmitter and receiver are disabled so the port pins default to being general purpose l/o lines. the sci frame format is initialized to an 8-bit character size. the send break and re- ceiver wake up functions are disabled. the tdre and tc status bits in the sci status register are both set, indicating that there is no transmit data in either the transmit data register or the transmit serial shift register. the rdrf, idle, or, nf, and fe receive- related status bits are all cleared. note that upon reset in special bootstrap mode execution begins in the 192 byte boot rom. this firmware sets port d to wire-or mode, establishes a baud rate, and en- ables the sci receiver and transmitter. 9.1.2.9 spi serial l/o the spi system is disabled by reset. the port pins associated with this function default to being general purpose l/o lines. 9.1.2.10 a/d converter the a/d converter system configuration is indeterminate after reset. the conversion complete flag is cleared by reset. the adpu bit is cleared by reset thus disabling the a/d system. 9.1.2.11 system the eeprom programming controls are all disabled so the memory system is config- ured for normal read operation. the highest priority i interrupt defaults to being the ex- ternal irq pin by psel[3:0] equal to 0:1:0:1. the irq interrupt pin is configured for level sensitive operation (for wire-or systems). the rboot, smod, and mda bits in the hprio register reflect the status of the modb and moda inputs at the rising edge
mc68hc11a8 resets, interrupts, and low power modes motorola technical data 9-5 9 of reset. the dly control bit is set to specify that an oscillator start-up delay is imposed upon recovery from stop mode. the clock monitor system is disabled by cme equal zero. 9.1.3 computer operating properly (cop) reset the mcu includes a computer operating properly watchdog system to help protect against software failures. to use a cop watchdog timer, a watchdog timer reset se- quence must be executed on a regular periodic basis so that the watchdog timer is never allowed to time out. the internal cop function includes special control bits which permit specification of one of four time out periods and even allows the function to be disabled completely. the cop system has a separate reset vector. the nocop control bit, which determines whether or not a watchdog timeout causes a system reset, is implemented in an eeprom cell in the config register. once pro- grammed, this bit remains set (or cleared) even when no power is applied, and the cop function is enabled or disabled independent of resident software. the nocop control bit may be preempted while in special modes to prevent the cop system from causing a hardware reset. two other control bits in the option register select one of four timeout durations for the cop timer. the actual timeout period is dependent on the system e clock frequen- cy, but for reference purposes, table 9-1 shows the relationship between the cr1 and cr0 control bits and the cop timeout period for various system clock frequencies. the default reset condition of the cr1 and cr0 bits is cleared which corresponds to the shortest timeout period. the sequence required to reset the watchdog timer is: 1. write $55 to the cop reset register (coprst) at $103a, followed by 2. write $aa to the same address. both writes must occur in correct order prior to timeout but, any number of instructions may be executed between the writes. the elapsed time between adjacent software re- set sequences must never be greater than the cop time out period. reading the co- prst register does not return meaningful data and does not affect the watchdog timer. table 9-1 cop timeout period versus cr1 and cr0 cr1 cr0 rate xtal = 12.0 mhz timeout ?/+10.9 ms xtal = 2 23 timeout ?0/+15.6 ms xtal = 8.0 mhz timeout ?0/+16.4 ms xtal = 4.9152 mhz timeout ?0/+26.7 ms xtal = 4.0 mhz timeout ?0/+32.8 ms xtal = 3.6864 mhz timeout ?0/+35.6 ms 00 2 15 ? e 10.923 ms 15.625 ms 16.384 ms 26.667 ms 32.768 ms 35.556 ms 01 2 17 ? e 43.691 ms 62.5 ms 65.536 ms 106.67 ms 131.07 ms 142.22 ms 10 2 19 ? e 174.76 ms 250 ms 262.14 ms 426.67 ms 524.29 ms 568.89 ms 11 2 21 ? e 699.05 ms 1 s 1.049 s 1.707 s 2.1 s 2.276 s e = 3.0 mhz 2.1 mhz 2.0 mhz 1.2288 mhz 1.0 mhz 921.6 khz
motorola resets, interrupts, and low power modes mc68hc11a8 9-6 technical data 9 9.1.4 clock monitor reset the clock monitor function is enabled by the cme control bit in the option register. when cme is clear, the monitor function is disabled. when the cme bit is set, the clock monitor function detects the absence of an e clock for more than a certain period of time. the timeout period is dependent on processing parameters and will be be- tween 5 and 100 microseconds. this means that an e-clock rate of 200 khz or more will never cause a clock monitor failure and an e-clock rate of 10 khz or less will def- initely cause a clock monitor failure. this implies that systems operating near or below an e-clock rate of 200 khz should not use the clock monitor function. upon detection of a slow or absent clock, the clock monitor circuit will cause a system reset. this reset is issued to the external system via the bidirectional reset pin. the clock monitor system has a separate reset vector. special considerations are needed when using a stop function and clock monitor in the same system. since the stop function causes the clocks to be halted, the clock monitor function will generate a reset sequence if it is enabled at the time the stop mode is entered. the clock monitor is useful as a backup for the cop watchdog timer. since the watch- dog timer requires a clock to function, it will not indicate any failure if the system clocks fail. the clock monitor would detect such a failure and force the mcu to its reset state. note that clocks are not required for the mcu to reach its reset configuration, although clocks are required to sequence through reset back to the run condition. 9.1.5 configuration options register (option) this is a special purpose 8-bit register that is used (optionally) during initialization to configure internal system configuration options. with the exception of bits 7, 6, and 3 (adpu, csel, and cme) which may be read or written at any time, this register may be written to only once after a reset and thereafter is a read-only register. if no write is performed to this location within 64 e-clock cycles after reset, then bits 5, 4, 1, and 0 (irqe, dly, cr1, and cr0) will become read-only to minimize the possibility of any accidental changes to the system configuration (writes will be ignored). while in spe- cial test modes, the protection mechanism on this register is preempted and all bits in the option register may be written repeatedly. adpu ?a/d power-up this bit controls operations of the on-chip analog-to-digital converter. when adpu is clear, the a/d system is powered down and conversion requests will not return mean- ingful information. to use the a/d system, this bit should be set. a 100 microsecond delay is required after adpu is turned on to allow the a/d system to stabilize. 7654321 0 $ 1 039 adpu csel irqe dly cme 0 cr1 cr0 option reset 00010000
mc68hc11a8 resets, interrupts, and low power modes motorola technical data 9-7 9 csel ?a/d/ee charge pump clock source select this bit determines the clocking source for the on-chip a/d and eeprom charge pump. when this bit is zero, the mcu e clock drives the a/d system and the eeprom charge pump. when csel is one, on-chip separate r-c oscillators are enabled and clock the systems at about 2 mhz. when running with an e clock below 1 mhz, csel must be high to program or erase eeprom. when operating below 750 khz e clock rate, csel should be high for a/d conversions. a delay of 10 milliseconds is required after csel is turned on to allow the a/d system to stabilize. irqe ?irq edge/level sensitive this bit may only be written under special circumstances as described above. when this bit is clear, the irq pin is configured for level sensitive wired-or operation (low level) and when it is set, the irq pin is configured for edge-only sensitivity (falling edg- es). dly ?stop exit turn-on delay this bit may only be written under special circumstances as described above. this bit is set during reset and controls whether or not a relatively long turn-on delay will be imposed before processing can resume after a stop period. if an external clock source is supplied this delay can be inhibited so that processing can resume within a few cycles of a wake up from stop mode. when dly is set, a 4064 e clock cycle de- lay is imposed to allow oscillator stabilization and when dly is clear, this delay is by- passed. cme ?clock monitor enable this control bit may be read or written at any time and controls whether or not the in- ternal clock monitor circuit will trigger a reset sequence when a slow or absent system clock is detected. when it is clear, the clock monitor circuit is disabled and when it is set, the clock monitor circuit is enabled. systems operating at or below 200 khz should not use the clock monitor function. reset clears the cme bit. bit 2 ?not implemented this bit always reads zero. cr1 and cr0 ?cop timer rate selects these bits may only be written under special circumstances as described above. re- fer to table 9-1 for the relationship between cr1:cr0 and the cop timeout period. 9.2 interrupts when an external or internal (hardware) interrupt occurs, the interrupt is not serviced until the current instruction being executed is completed. until the current instruction is complete, the interrupt is considered pending. after completion of current instruction execution, unmasked interrupts may be serviced in accordance with an established fixed hardware priority circuit; however, one l-bit related interrupt source may be dy- namically elevated to the highest i bit priority position in the hierarchy (see 9.2.5 high- est priority i interrupt register (hprio) ). seventeen hardware interrupts and one software interrupt (excluding reset type inter- rupts) can be generated from all of the possible sources. the interrupts can be divided
motorola resets, interrupts, and low power modes mc68hc11a8 9-8 technical data 9 into two basic categories, maskable and non-maskable. in the mc68hc11a8 fifteen of the interrupts can be masked using the condition code register i bit. in addition to being maskable by the i bit in the condition code register, all of the on-chip interrupt sources are individually maskable by local control bits. the software interrupt (swi instruction) is a non-maskable instruction rather than a maskable interrupt source. the illegal opcode interrupt is a non-maskable interrupt. the last interrupt source, external input to the xirq pin, is considered a non-maskable interrupt because once enabled, it cannot be masked by software; however, it is masked during reset and upon receipt of an interrupt at the xirq pin. table 9-2 , table 9-3 , and table 9-4 provide a list of each interrupt, its vector location in memory, and the actual condition code and control bits that mask it. a discussion of the various in- terrupts is provided below. figure 9-3 shows the interrupt stacking order. table 9-2 irq vector interrupts interrupt cause local mask external pin none parallel l/o handshake stai table 9-3 interrupt vector assignments vector interrupt source cc local mask address register mask ffc0, c1 reserved ffd4, d5 reserved ffd6, d7 sci serial system i bit see table 9-3 ffd8, d9 spi serial transfer complete i bit spie ffda, db pulse accumulator input edge i bit paii ffdc, dd pulse accumulator overflow i bit paovi ffde, df timer overflow i bit toi ffe0, e1 timer output compare 5 i bit oc5i ffe2, e3 timer output compare 4 i bit oc4i ffe4, e5 timer output compare 3 i bit oc3i ffe6, e7 timer output compare 2 i bit oc2i ffe8, e9 timer output compare 1 i bit oc1i ffea, eb timer input capture 3 i bit oc3i ffec, ed timer input capture 2 i bit oc2i ffee, ef timer input capture 1 i bit oc1i fff0, f1 real time interrupt i bit rtii fff2, f3 irq (external pin or parallel l/o) i bit see table 9-4 fff4, f5 xirq pin (pseudo non-maskable interrupt) x bit none fff6, f7 swi none none fff8, f9 illegal opcode trap none none fffa, fb cop failure (reset) none nocop fffc, fd cop clock monitor fail (reset) none cme fffe, ff reset none none
mc68hc11a8 resets, interrupts, and low power modes motorola technical data 9-9 9 9.2.1 software interrupt (swi) the software interrupt is executed in the same manner as any other instruction and will take precedence over interrupts only if the other interrupts are masked (i and x bits in the condition code register set). the swi instruction is executed in a manner similar to other maskable interrupts in that it sets the i bit, cpu registers are stacked, etc. note the swi instruction will not be fetched if an interrupt is pending. however, once an swi instruction has begun, no interrupt can be honored until the swi vector has been fetched. figure 9-3 interrupt stacking order 9.2.2 illegal opcode trap since not all possible opcodes or opcode sequences are defined, an illegal opcode de- tection circuit has been included. when an illegal opcode is detected, an interrupt is requested to the illegal opcode vector. the illegal opcode vector should never be left uninitialized. it is a good idea to reinitialize the stack pointer as a result of an illegal opcode interrupt so repeated execution of illegal opcodes does not cause stack over- runs. 9.2.3 interrupt mask bits in condition code register upon reset, both the x bit and the i bit are set to inhibit all maskable interrupts and xirq . after minimum system initialization, software may clear the x bit by a tap in- struction, thus enabling xirq interrupts. thereafter software cannot set the x bit so an xirq interrupt is effectively a nonmaskable interrupt. since the operation of the i table 9-4 sci serial system interrupts interrupt cause local mask receive data register full rie receiver overrun rie idle line detect ilie transmit data register empty tie transmit complete tcie pcl sp ?sp before interrupt pch sp? iyl sp? iyh sp? ixl sp? ixh sp? acca sp? accb sp? ccr sp? sp? ?sp after interrupt 70
motorola resets, interrupts, and low power modes mc68hc11a8 9-10 technical data 9 bit related interrupt structure has no effect on the x bit, the external xirq pin remains effectively non-masked. in the interrupt priority logic, the xirq interrupt is a higher pri- ority than any source that is maskable by the i bit. all i bit related interrupts operate normally with their own priority relationship. when an i bit related interrupt occurs, the i bit is automatically set by hardware after stacking the condition code register byte, but the x bit is not affected. when an x bit related interrupt occurs, both the x bit and the i bit are automatically set by hardware after stacking the condition code register. an rti (return from interrupt) instruction restores the x and i bits to their pre-interrupt request state. 9.2.4 priority structure interrupts obey a fixed hardware priority circuit to resolve simultaneous requests; how- ever, one i bit related interrupt source may be elevated to the highest i bit priority po- sition in the resolution circuit. the first six interrupt sources are not masked by the i bit in the condition code register and have the fixed priority interrupt relationship of: reset, clock monitor fail, cop fail, illegal opcode, and xirq . (swi is actually an instruction and has highest priority other than reset in the sense that once the swi opcode is fetched, no other interrupt can be honored until the swi vector has been fetched). each of these sources is an input to the priority resolution circuit. the highest i bit masked priority input to the resolution circuit is assigned under software control (of the hprio register) to be connected to any one of the remaining i bit related interrupt sources. in order to avoid timing races, the hprio register may only be written while the i bit related interrupts are inhibited (i bit in condition code register is a logic one). an interrupt that is assigned to this high priority position is still subject to masking by any associated control bits or the i bit in the condition code register. the interrupt vec- tor address is not affected by assigning a source to this higher priority position. figure 9-4 , figure 9-5 , and figure 9-6 illustrate the interrupt process as it relates to normal processing. figure 9-4 shows how the cpu begins from a reset and how in- terrupt detection relates to normal opcode fetches. figure 9-5 is an expansion of a block in figure 9-4 and shows how interrupt priority is resolved. figure 9-6 is an ex- pansion of the sci interrupt block in figure 9-5 . figure 9-6 shows the resolution of interrupt sources within the sci subsystem. 9.2.5 highest priority i interrupt register (hprio) this register is used to select one of the i bit related interrupt sources to be elevated to the highest i bit masked position in the priority resolution circuit. in addition, four mis- cellaneous system control bits are included in this register. rboot ?read bootstrap rom the read bootstrap rom bit only has meaning when the smod bit is a one (special bootstrap mode or special test mode). at all other times, this bit is clear and may not be written. 7654321 0 $ 1 03c rboot smod mda irv psel3 psel2 psel1 psel0 hprio reset 0101
mc68hc11a8 resets, interrupts, and low power modes motorola technical data 9-11 9 when set, upon reset in bootstrap mode only, the small bootstrap loader program is enabled. when clear, by reset in the other three modes, this rom is disabled and ac- cesses to this area are treated as external accesses. smod ?special mode the special mode bit reflects the inverse of the modb input pin at the rising edge of reset. it is set if the modb pin is low during reset. if modb is high during reset, it is cleared. this bit may be cleared under software control from the special modes, thus, changing the operating mode of the mcu, but may never be set by software. mda ?mode select a the mode select a bit reflects the status of the moda input pin at the rising edge of reset. while the smod bit is set (special bootstrap or special test mode in effect) the mda bit may be written, thus, changing the operating mode, of the mcu. when the smod bit is clear, the mda bit is a read-only bit and the operating mode cannot be changed without going through a reset sequence. table 9-5 summarizes the relationship between the smod and mda bits and the modb and moda input pins at the rising edge of reset. irv ?internal read visibility the internal read visibility bit is used in the special modes (smod = 1) to affect visibil- ity of internal reads on the expansion data bus. irv is writeable only if smod = 1 and returns to zero if smod = 0. if irv is clear, visibility of internal reads is blocked. if the bit is set, internal reads are visible on the external bus. psel3, psel2, psel1, and psel0 ?priority select these four priority select bits are used to specify one i bit related interrupt source which becomes the highest priority i bit related source ( table 9-6 ). these bits may be written only while the i bit in ccr = 1 (interrupts masked). table 9-5 mode bits relationship inputs mode description latched at reset modb moda smod mda 1 0 single chip 0 0 1 1 expanded multiplexed 0 1 0 0 special bootstrap 1 0 0 1 special test 1 1 1 = logic high 0 = logic low
motorola resets, interrupts, and low power modes mc68hc11a8 9-12 technical data 9 figure 9-4 processing flow out of resets (sheet 1 of 2) 2a bit x in y n xirq y n pin low? ccr = 1? begin instruction sequence 1a stack cpu registers set bits i and x fetch vector $fff4, $fff5 set bits s , i , and x reset mcu hardware power-on reset (por) external reset clock monitor fail (with cme = 1) cop watchdog timeout (with nocop = 0) delay 4064 e cycles load program counter with contents of $fffe, $ffff (vector fetch) load program counter with contents of $fffc, $fffd (vector fetch) load program counter with contents of $fffa, $fffb (vector fetch) highest priority lowest priority
mc68hc11a8 resets, interrupts, and low power modes motorola technical data 9-13 9 figure 9-4 processing flow out of resets (sheet 2 of 2) bit i in ccr = 1? 2a y n any i-bit interrupt y n pending? fetch opcode illegal opcode? y n wai y n instruction? swi instruction? y n rti instruction? y n execute this instruction stack cpu registers any n y interrupt pending? set bit i in ccr resolve interrupt priority and fetch vector for highest pending source stack cpu registers set bit i in ccr fetch vector $fff8, $fff9 stack cpu registers set bit i in ccr fetch vector $fff6, $fff7 restore cpu registers from stack 1a stack cpu registers see figure 9?
motorola resets, interrupts, and low power modes mc68hc11a8 9-14 technical data 9 figure 9-5 interrupt priority resolution (sheet 1 of 2) 2a fetch appropriate vector bit x in ccr = 1? n y y n highest irq? y n rtii = 1? y n y n ic1i = 1? ic2i = 1? y n ic3i = 1? y n oc1i = 1? y n priority int? xirq pin low? y n external y n real-time y n y n flag flag y n flag y n flag y n ic2f = 1? ic3f = 1? oc1f = 1? pin? staf and stai = 1? y n interrupt? ic1f = 1 begin set bit x in ccr fetch vector $fff4, $fff5 fetch vector $fff2, $fff3 fetch vector $fff0, $fff1 fetch vector $ffee, $ffef fetch vector $ffec, $ffed fetch vector $ffe8, $ffe9 fetch vector $ffea, $ffeb 2b
mc68hc11a8 resets, interrupts, and low power modes motorola technical data 9-15 9 figure 9-5 interrupt priority resolution (sheet 2 of 2) toi = 1? y n y n paovi = 1? paii = 1? y n spie = 1? y n y n flag y n y n flag flag y n flags y n paif = 1? spif = 1? or tof = 1? paovf = 1 fetch vector $ffde, $ffdf fetch vector $ffdc, $ffdd fetch vector $ffda, $ffdb fetch vector $ffd6, $ffd7 fetch vector $ffd8, $ffd9 oc2i = 1? y n y n oc3i = 1? oc4i = 1? y n oc5i = 1? y n flag y n y n flag flag y n flag y n oc4f = 1? oc5f = 1? oc2f = 1? oc3f = 1 fetch vector $ffe6, $ffe7 fetch vector $ffe4, $ffe5 fetch vector $ffe2, $ffe3 fetch vector $ffe0, $ffe1 modf = 1? interrupt? see figure 9? 2a 2b end fetch vector $fff2, $fff3 sci
motorola resets, interrupts, and low power modes mc68hc11a8 9-16 technical data 9 figure 9-6 interrupt source resolution within sci flag y n or = 1? y n y n tdre = 1? tc = 1? y n idle = 1? y n y n y n y n ilie = 1? rie = 1? tie = 1? begin re = 1? y n y n te = 1? tcie = 1? y n re = 1? y n rdrf = 1? valid sci request no valid sci request
mc68hc11a8 resets, interrupts, and low power modes motorola technical data 9-17 9 note: during reset, psel3, psel2, psel1, and psel0 are initialized to 0:1:0:1 which corresponds to ?eserved (de- fault to irq )?being the highest priority i-bit-related interrupt source. 9.3 low-power modes the mcu contains two programmable low power consumption modes; wait and stop. these two instructions are discussed below. table 9-7 summarizes the activity on all pins of the mcu for all operating conditions. 9.3.1 wait instruction the wai instruction puts the mcu in a low power consumption mode, keeping the os- cillator running. upon execution of a wai instruction, the machine state is stacked and program execution stops. the wait state can be exited only by an unmasked interrupt or reset . if the i bit is set (interrupts masked) and the cop is disabled, the timer sys- tem will be turned off to additionally reduce power consumption. the amount of power savings is application dependent and depends upon circuitry connected to the mcu pins as well as which subsystems (i.e., timer, spi, sci) are active when the wait mode is entered. turning off the a/d subsystem by clearing adpu further reduces wait mode current. 9.3.2 stop instruction the stop instruction places the mcu in its lowest power consumption mode provided the s bit in the condition code register is clear. if the s bit is set, the stop mode is disabled and stop instructions are treated as nops (no operation). in the stop mode, all clocks including the internal oscillator are stopped causing all internal pro- cessing to be halted. recovery from the stop mode may be accomplished by re- set , xirq , or an unmasked irq . when the xirq is used, the mcu exits from the stop mode regardless of the state of the x bit in the condition code register; however, table 9-6 highest priority i interrupt versus psel[3:0] psel3 psel2 psel1 psel0 interrupt source promoted 0000 timer overflow 0001 pulse accumulator overflow 0010 pulse accumulator input edge 0011 spi serial transfer complete 0100 sci serial system 0101 reserved (default to irq ) 0110irq (external pin or parallel l/o) 0111 real time interrupt 1000 timer input capture 1 1001 timer input capture 2 1010 timer input capture 3 1011 timer output compare 1 1100 timer output compare 2 1101 timer output compare 3 1110 timer output compare 4 1111 timer output compare 5
motorola resets, interrupts, and low power modes mc68hc11a8 9-18 technical data 9 the actual recovery sequence differs depending on the state of the x bit. if the x bit is clear, the mcu starts up with the stacking sequence leading to normal service of the xirq request. if the x bit is set, then processing will continue with the instruction im- mediately following the stop instruction and no xirq interrupt service routine is re- quested. a reset will always result in an exit from the stop mode, and the start of mcu operation is determined by the reset vector. symbols: data =current data present. i =input pin, if ( ) associated then this is required input state. l/o =input/output pin, state determined by data direction register. hl add =high byte of the address. lo add =low byte of the address. add/data =low byte of the address multiplexed with data. od =open drain output, ( ) current output state. ss =steady state, output pin stays in current state. sp-8 =address output during wai period following wai instruction, stack point- er value, at time of wai, minus 8. !!! =xtal is output but not normally usable for any output function beyond crystal drive. since the oscillator is stopped in the stop mode, a restart delay of 4064 clock cycle times may be required to allow oscillator stabilization. if the internal oscillator is being used, this delay is required; however, if a stable external oscillator is being used, a control bit in the option register may be used (dly = 0) to give a delay of four cycles. table 9-7 pin state summary for reset, stop, and wait pins single chip modes expanded modes reset wait stop reset wait stop output only e active e active e 0 active e active e 0 xtal!!! active active 1 active active 1 strb/rw 0 ss ss 1 1 1 pa3-pa6 0 ss ss 0 ss ss pb0-pb7 0 ss ss hl add hl add hl add input/output reset i (0) i i i (0) i i moda/lir i (0) od (1) od (1) i (1) od (1) od (1) modb/v stby i (modb) l (v stby ) l (v stby ) i (modes) l (v stby ) l (v stby ) stra/as i (stra) i (stra) i (stra) active as active as 0 pa7 i i/o i/o i l/o i/o pc0-pc7 i i/o i/o add/data sp-8/data lo add pd0-pd5 i i/o i/o i i/o i/o input only extal input clock or connect to crystal with xtal irq terminate unused inputs to v dd xirq terminate unused inputs to v dd pa0-pa2 terminate unused inputs to v dd or v ss pe0-pe7 if not used, external drive not required v rh -v rl if not used, external drive not required
mc68hc11a8 cpu, addressing modes, and instruction set motorola technical data 10-1 10 10 cpu, addressing modes, and instruction set this section provides a description of the cpu registers, addressing modes, and a summary of the m68hc11 instruction set. special operations such as subroutine calls and interrupts are described and cycle-by-cycle operations for all instructions are pre- sented. 10.1 cpu registers in addition to being able to execute all m6800 and m6801 instructions, the mc68hc11a8 uses a 4-page opcode map to allow execution of 91 new opcodes (see 10.2.7 prebyte ). seven registers, discussed in the following paragraphs, are available to programmers as shown in figure 10-1 . 10.1.1 accumulators a and b accumulator a and accumulator b are general-purpose 8-bit registers used to hold operands and results of arithmetic calculations or data manipulations. these two ac- cumulators can be concatenated into a single 16-bit accumulator called the d accu- mulator. 10.1.2 index register x (ix) the 16-bit ix register is used for indexed mode addressing. it provides a 16-bit index- ing value which is added to an 8-bit offset provided in an instruction to create an effec- tive address. the ix register can also be used as a counter or as a temporary storage register.
motorola cpu, addressing modes, and instruction set mc68hc11a8 10-2 technical data 10 figure 10-1 programming model 10.1.3 index register y (iy) the 16-bit iy register is also used for indexed mode addressing similar to the ix reg- ister; however, all instructions using the iy register require an extra byte of machine code and an extra cycle of execution time since they are two byte opcodes. 10.1.4 stack pointer (sp) the stack pointer (sp) is a 16-bit register that contains the address of the next free location on the stack. the stack is configured as a sequence of last-in-first-out read/ write registers which allow important data to be stored during interrupts and subroutine calls. each time a new byte is added to the stack (a push instruction), the sp is dec- rement; whereas, each time a byte is removed from the stack (a pull instruction) the sp is incremented. 10.1.5 program counter (pc) the program counter is a 16-bit register that contains the address of the next instruc- tion to be executed. 10.1.6 condition code register (ccr) the condition code register is an 8-bit register in which each bit signifies the results of the instruction just executed. these bits can be individually tested by a program and a specific action can be taken as a result of the test. each individual condition code register bit is explained below. 8-bit accumulators a & b 70 70 15 0 ab d ix iy sp pc 70 c v z n i h x s or 16-bit double accumulator d index register x index register y stack pointer program counter carry/borrow from msb overflow zero negative i-interrupt mask half carry (from bit 3) x-interrupt mask stop disable condition codes
mc68hc11a8 cpu, addressing modes, and instruction set motorola technical data 10-3 10 10.1.6.1 carry/borrow (c) the c bit is set if there was a carry or borrow out of the arithmetic logic unit (alu) dur- ing the last arithmetic operation. the c bit is also affected during shift and rotate in- structions. 10.1.6.2 overflow (v) the overflow bit is set if there was an arithmetic overflow as a result of the operation; otherwise, the v bit is cleared. 10.1.6.3 zero (z) the zero bit is set if the result of the last arithmetic, logic, or data manipulation opera- tion was zero; otherwise, the z bit is cleared. 10.1.6.4 negative (n) the negative bit is set if the result of the last arithmetic, logic, or data manipulation op- eration was negative; otherwise, the n bit is cleared. a result is said to be negative if its most significant bit is a one. 10.1.6.5 interrupt mask (i) the i interrupt mask bit is set either by hardware or program instruction to disable (mask) all maskable interrupt sources (both external and internal). 10.1.6.6 half carry (h) the half carry bit is set to a logic one when a carry occurs between bits 3 and 4 of the arithmetic logic unit during an add, aba, or adc instruction; otherwise, the h bit is cleared. 10.1.6.7 x interrupt mask (x) the x interrupt mask bit is set only by hardware (reset or xirq acknowledge); and it is cleared only by program instruction (tap or rti). 10.1.6.8 stop disable (s) the stop disable bit is set to disable the stop instruction, and cleared to enable the stop instruction. the s bit is program controlled. the stop instruction is treated as no operation (nop) if the s bit is set. 10.2 addressing modes six addressing modes can be used to reference memory; they include: immediate, di- rect, extended, indexed (with either of two 16-bit index registers and an 8-bit offset), inherent and relative. some instructions require an additional byte before the opcode to accommodate a multi-page opcode map; this byte is called a prebyte. the following paragraphs provide a description of each addressing mode plus a dis- cussion of the prebyte. in these descriptions the term effective address is used to in-
motorola cpu, addressing modes, and instruction set mc68hc11a8 10-4 technical data 10 dicate the address in memory from which the argument is fetched or stored, or from which execution is to proceed. 10.2.1 immediate addressing in the immediate addressing mode, the actual argument is contained in the byte(s) im- mediately following the instruction, where the number of bytes matches the size of the register. these are two, three, or four (if prebyte is required) byte instructions. 10.2.2 direct addressing in the direct addressing mode (sometimes called zero page addressing), the least sig- nificant byte of the operand address is contained in a single byte following the opcode and the most significant byte is assumed to be $00. direct addressing allows the user to access $0000 through $00ff using two byte instructions and execution time is re- duced by eliminating the additional memory access. in most applications, this 256- byte area is reserved for frequently referenced data. in the mc68hc11a8, software can configure the memory map so that internal ram, and/or internal registers, or ex- ternal memory space can occupy these addresses. 10.2.3 extended addressing in the extended addressing mode, the second and third bytes (following the opcode) contain the absolute address of the operand. these are three or four (if prebyte is re- quired) byte instructions: one or two for the opcode, and two for the effective address. 10.2.4 indexed addressing in the indexed addressing mode, one of the index registers (x or y) is used in calculating the effective address. in this case, the effective address is variable and depends on two factors: 1) the current contents of the index register (x or y) being used, and 2) the 8-bit unsigned offset contained in the instruction. this addressing mode allows referencing any memory location in the 64 kbyte address space. these are usually two or three (if prebyte is required) byte in- structions, the opcode plus the 8-bit offset. 10.2.5 inherent addressing in the inherent addressing mode, all of the information is contained in the opcode. the operands (if any) are registers and no memory reference is required. these are usu- ally one or two byte instructions. 10.2.6 relative addressing the relative addressing mode is used for branch instructions. if the branch condition is true, the contents of the 8-bit signed byte following the opcode (the offset) is added to the contents of the program counter to form the effective branch address; otherwise, control proceeds to the next instruction. these are usually two byte instructions.
mc68hc11a8 cpu, addressing modes, and instruction set motorola technical data 10-5 10 10.2.7 prebyte in order to expand the number of instructions used in the mc68hc11a8, a prebyte in- struction has been added to certain instructions. the instructions affected are usually associated with index register y. the instruction opcodes which do not require a pre- byte could be considered as page 1 of the overall opcode map. the remaining op- codes could be considered as pages 2, 3, and 4 of the opcode map and would require a prebyte; $18 for page 2, $1a for page 3, and $cd for page 4. 10.3 instruction set the central processing unit (cpu) in the mc68hc11a8 is basically a proper extension of the mc6801 cpu. in addition to its ability to execute all m6800 and m6801 instruc- tions, the mc68hc11a8 cpu has a paged operation code (opcode) map with a total of 91 new opcodes. major functional additions include a second 16-bit index register (y register), two types of 16-by-16 divide instructions, stop and wait instructions, and bit manipulation instructions. table 10-1 shows all mc68hc11a8 instructions in all possible addressing modes. for each instruction, the operand construction is shown as well as the total number of ma- chine code bytes and execution time in cpu e-clock cycles. notes are provided at the end of table 10-1 which explain the letters in the operand and execution time col- umns for some instructions. definitions of ?pecial ops?found in the boolean expres- sion column are found in figure 10-2 . table 10-2 through table 10-8 provide a detailed description of the information present on the address bus, data bus, and the read/write (r/w ) line during each cycle of each instruction. the information is useful in comparing actual with expected results during debug of both software and hardware as the program is executed. the informa- tion is categorized in groups according to addressing mode and number of cycles per instruction. in general, instructions with the same address mode and number of cycles execute in the same manner. exceptions are indicated in the table.
motorola cpu, addressing modes, and instruction set mc68hc11a8 10-6 technical data 10 table 10-1 mc68hc11a8 instructions, addressing modes, and execution times (sheet 1 of 6) source form(s) operation boolean expression addressing mode for operand machine coding (hexadecimal) bytes cycle cycle by cycle* condition codes opcode operand(s) s x h i n z v c aba add accumulators a + b ? a inh 1b 1 2 2-1 - - - abx add b to x ix + 00:b ? ix inh 3a 1 3 2-2 - - - - - - - - aby add b to y iy + 00:b ? iy inh 18 3a 2 4 2-4 - - - - - - - - adca (opr) add with carry to a a + m + c ? a a imm a dir a ext a ind,x a ind,y 89 99 b9 a9 18 a9 ii dd hh ll ff ff 2 2 3 2 3 2 3 4 4 5 3-1 4-1 5-2 6-2 7-2 - - - adcb (opr) add with carry to b b + m + c ? b b imm b dir b ext b ind,x b ind,y c9 d9 f9 e9 18 e9 ii dd hh ll ff ff 2 2 3 2 3 2 3 4 4 5 3-1 4-1 5-2 6-2 7-2 - - - adda (opr) add memory to a a + m ? a a imm a dir a ext a ind,x a ind,y 8b 9b bb ab 18 ab ii dd hh ll ff ff 2 2 3 2 3 2 3 4 4 5 3-1 4-1 5-2 6-2 7-2 - - - addb (opr) add memory to b b + m ? b b imm b dir b ext b ind,x b ind,y cb db fb eb 18 eb ii dd hh ll ff ff 2 2 3 2 3 2 3 4 4 5 3-1 4-1 5-2 6-2 7-2 - - - addd (opr) add 16-bit to d d + m:m + 1 ? d imm dir ext ind,x ind,y c3 d3 f3 e3 18 e3 jj kk dd hh ll ff ff 3 2 3 2 3 4 5 6 6 7 3-3 4-7 5-10 6-10 7-8 - - - - anda (opr) and a with memory a? ? a a imm a dir a ext a ind,x a ind,y 84 94 b4 a4 18 a4 ii dd hh ll ff ff 2 2 3 2 3 2 3 4 4 5 3-1 4-1 5-2 6-2 7-2 - - - - 0 - andb (opr) and b with memory b? ? b b imm b dir b ext b ind,x b ind,y c4 d4 f4 e4 18 e4 ii dd hh ll ff ff 2 2 3 2 3 2 3 4 4 5 3-1 4-1 5-2 6-2 7-2 - - - - 0 - asl (opr) arithmetic shift left ext ind,x ind,y a inh b inh 78 68 18 68 48 58 hh ll ff ff 3 2 3 1 1 6 6 7 2 2 5-8 6-3 7-3 2-1 2-1 - - - - asla aslb asld arithmetic shift left double inh 05 1 3 2-2 - - - - asr (opr) arithmetic shift right ext ind,x ind,y a inh b inh 77 67 18 67 47 57 hh ll ff ff 3 2 3 1 1 6 6 7 2 2 5-8 6-3 7-3 2-1 2-1 - - - - asra asrb bcc (rel) branch if carry clear ? c = 0 rel 24 rr 2 3 8-1 - - - - - - - - bclr (opr) (msk) clear bit(s) m?mm ) ? m dir ind,x ind,y 15 1d 18 1d dd mm ff mm ff mm 3 3 4 6 7 8 4-10 6-13 7-10 - - - - 0 - bcs (rel) branch if carry set ? c = 1 rel 25 rr 2 3 8-1 - - - - - - - - beq (rel) branch if = zero ? z = 1 rel 27 rr 2 3 8-1 - - - - - - - - bge (rel) branch if 3 zero ? n ? v = 0 rel 2c rr 2 3 8-1 - - - - - - - - bgt (rel) branch if > zero ? z + (n ? v) = 0 rel 2e rr 2 3 8-1 - - - - - - - - bhi (rel) branch if higher ? c + z = 0 rel 22 rr 2 3 8-1 - - - - - - - - bhs (rel) branch if higher or same ? c = 0 rel 24 rr 2 3 8-1 - - - - - - - - *cycle-by-cycle number provides a reference to tables 10-2 through 10-8 which detail cycle-by-cycle operation. example: table 10-1 cycle-by-cycle column reference number 2-4 equals table 10-2 line item 2-4. cb0 b7 0 cb0 b15 0 c b0 b7
mc68hc11a8 cpu, addressing modes, and instruction set motorola technical data 10-7 10 bita (opr) bit(s) test a with memory a? a imm a dir a ext a ind,x a ind,y 85 95 b5 a5 18 a5 ii dd hh ll ff ff 2 2 3 2 3 2 3 4 4 5 3-1 4-1 5-2 6-2 7-2 - - - - 0 - bitb (opr) bit(s) test b with memory b? b imm b dir b ext b ind,x b ind,y c5 d5 f5 e5 18 e5 ii dd hh ll ff ff 2 2 3 2 3 2 3 4 4 5 3-1 4-1 5-2 6-2 7-2 - - - - 0 - ble (rel) branch if zero ? z + (n ? v) = 1 rel 2f rr 2 3 8-1 - - - - - - - - blo (rel) branch if lower ? c = 1 rel 25 rr 2 3 8-1 - - - - - - - - bls (rel) branch if lower or same ? c + z = 1 rel 23 rr 2 3 8-1 - - - - - - - - blt (rel) branch if < zero ? n ? v = 1 rel 2d rr 2 3 8-1 - - - - - - - - bmi (rel) branch if minus ? n = 1 rel 2b rr 2 3 8-1 - - - - - - - - bne (rel) branch if not = zero ? z = 0 rel 26 rr 2 3 8-1 - - - - - - - - bpl (rel) branch if plus ? n = 0 rel 2a rr 2 3 8-1 - - - - - - - - bra (rel) branch always ? 1 = 1 rel 20 rr 2 3 8-1 - - - - - - - - brclr(opr) (msk) (rel) branch if bit(s) clear ? m ?mm = 0 dir ind,x ind,y 13 1f 18 1f dd mm rr ff mm rr ff mm rr 4 4 5 6 7 8 4-11 6-14 7-11 - - - - - - - - brn (rel) branch never ? 1 = 0 rel 21 rr 2 3 8-1 - - - - - - - - brset(opr) (msk) (rel) branch if bit(s) set ? (m ) ?mm = 0 dir ind,x ind,y 12 1e 18 1e dd mm rr ff mm rr ff mm rr 4 4 5 6 7 8 4-11 6-14 7- 11 - - - - - - - - bset(opr) (msk) set bit(s) m + mm ? m dir ind,x ind,y 14 1c 18 1c dd mm ff mm ff mm 3 3 4 6 7 8 4-10 6-13 7-10 - - - - 0 - bsr (rel) branch to subroutine see special ops rel 8d rr 2 6 8-2 - - - - - - - - bvc (rel) branch if overflow clear ? v = 0 rel 28 rr 2 3 8-1 - - - - - - - - bvs (rel) branch if overflow set ? v = 1 rel 29 rr 2 3 8-1 - - - - - - - - cba compare a to b a ?b inh 11 1 2 2-1 - - - - clc clear carry bit 0 ? c inh 0c 1 2 2-1 - - - - - - - 0 cli clear interrupt mask 0 ? l inh 0e 1 2 2-1 - - - 0 - - - - clr (opr) clear memory byte 0 ? m ext ind,x ind,y 7f 6f 18 6f hh ll ff ff 3 2 3 6 6 7 5-8 6-3 7-3 - - - - 0 1 0 0 clra clear accumulator a 0 ? a a inh 4f 1 2 2-1 - - - - 0 1 0 0 clrb clear accumulator b 0 ? b b inh 5f 1 2 2-1 - - - - 0 1 0 0 clv ciear overflow flag 0 ? v inh 0a 1 2 2-1 - - - - - - 0 - cmpa (opr) compare a to memory a ?m a imm a dir a ext a ind,x a ind,y 81 91 b1 a1 18 a1 ii dd hh ll ff ff 2 2 3 2 3 2 3 4 4 5 3-1 4-1 5-2 6-2 7-2 - - - - cmpb (opr) compare b to memory b ?m b imm b dir b ext b ind,x b ind,y c1 d1 f1 e1 18 e1 ii dd hh ll ff ff 2 2 3 2 3 2 3 4 4 5 3-1 4-1 5-2 6-2 7-2 - - - - com (opr) 1? complement memory byte $ff ?m ? m ext ind,x ind,y 73 63 18 63 hh ll ff ff 3 2 3 6 6 7 5-8 6-3 7-3 - - - - 0 1 coma 1? complement a $ff ?a ? a a inh 43 1 2 2-1 - - - - 0 1 comb 1? complement b $ff ?b ? b b inh 53 1 2 2-1 - - - - 0 1 cpd (opr) compare d to memory 16-bit d ?m:m + 1 imm dir ext ind,x ind,y 1a 83 1a 93 1a b3 1a a3 cd a3 jj kk dd hh ll ff ff 4 3 4 3 3 5 6 7 7 7 3-5 4-9 5-11 6-11 7-8 - - - - table 10-1 mc68hc11a8 instructions, addressing modes, and execution times (sheet 2 of 6) source form(s) operation boolean expression addressing mode for operand machine coding (hexadecimal) bytes cycle cycle by cycle* condition codes opcode operand(s) s x h i n z v c *cycle-by-cycle number provides a reference to tables 10-2 through 10-8 which detail cycle-by-cycle operation. example: table 10-1 cycle-by-cycle column reference number 2-4 equals table 10-2 line item 2-4.
motorola cpu, addressing modes, and instruction set mc68hc11a8 10-8 technical data 10 cpx (opr) compare x to memory 16-bit ix ?m:m + 1 imm dir ext ind,x ind,y 8c 9c bc ac cd ac jj kk dd hh ll ff ff 3 2 3 2 3 4 5 6 6 7 3-3 4-7 5-10 6-10 7-8 - - - - cpy (opr) compare y to memory 16-bit iy ?m:m + 1 imm dir ext ind,x ind,y 18 8c 18 9c 18 bc 1a ac 18 ac jj kk dd hh ll ff ff 4 3 4 3 3 5 6 7 7 7 3-5 4-9 5-11 6-11 7-8 - - - - daa decimal adjust a adjust sum to bcd inh 19 1 2 2-1 - - - - dec (opr) decrement memory byte m ?1 ? m ext ind,x ind,y 7a 6a 18 6a hh ll ff ff 3 2 3 6 6 7 5-8 6-3 7-3 - - - - - deca decrement accumulator a a ?1 ? a a inh 4a 1 2 2-1 - - - - - decb decrement accumulator b b ?1 ? b b inh 5a 1 2 2-1 - - - - - des decrement stack pointer sp ?1 ? sp inh 34 1 3 2-3 - - - - - - - - dex decrement index register x ix ?1 ? ix inh 09 1 3 2-2 - - - - - - - dey decrement index register y iy ?1 ? iy inh 18 09 2 4 2-4 - - - - - - - eora (opr) exclusive or a with memory a ? m ? a a imm a dir a ext a ind,x a ind,y 88 98 88 a8 18 a8 ii dd hh ll ff ff 2 2 3 2 3 2 3 4 4 5 3-1 4-1 5-2 6-2 7-2 - - - - 0 - eorb (opr) exclusive or b with memory b ? m ? b b imm b dir b ext b ind,x b ind,y c8 d8 f8 e8 18 e8 ii dd hh ll ff ff 2 2 3 2 3 2 3 4 4 5 3-1 4-1 5-2 6-2 7-2 - - - - 0 - fdiv fractional divide 16 by 16 d/ix ? ix; r ? d inh 03 1 41 2-17 - - - - - idiv integer divide 16 by 16 d/ix ? ix; r ? d inh 02 1 41 2-17 - - - - - 0 inc (opr) increment memory byte m + 1 ? m ext ind,x ind,y 7c 6c 18 6c hh ll ff ff 3 2 3 6 6 7 5-8 6-3 7-3 - - - - - inca increment accumulator a a + 1 ? a a inh 4c 1 2 2-1 - - - - - incb increment accumulator b b + 1 ? b b inh 5c 1 2 2-1 - - - - - ins increment stack pointer sp + 1 ? sp inh 31 1 3 2-3 - - - - - - - - inx increment index register x ix + 1 ? ix inh 08 1 3 2-2 - - - - - - - iny increment index register y iy + 1 ? iy inh 18 08 2 4 2-4 - - - - - - - jmp (opr) jump see special ops ext ind,x ind,y 7e 6e 18 6e hh ll ff ff 3 2 3 3 3 4 5-1 6-1 7-1 - - - - - - - - jsr (opr) jump to subroutine see special ops dir ext ind,x ind,y 9d bd ad 18 ad dd hh ll ff ff 2 3 2 3 5 6 6 7 4-8 5-12 6-12 7-9 - - - - - - - - ldaa (opr) load accumulator a m ? a a imm a dir a ext a ind,x a ind,y 86 96 b6 a6 18 a6 ii dd hh ll ff ff 2 2 3 2 3 2 3 4 4 5 3-1 4-1 5-2 6-2 7-2 - - - - 0 - ldab (opr) load accumulator b m ? b b imm b dir b ext b ind,x b ind,y c6 d6 f6 e6 18 e6 ii dd hh ll ff ff 2 2 3 2 3 2 3 4 4 5 3-1 4-1 5-2 6-2 7-2 - - - - 0 - ldd (opr) load double accumulator d m ? a,m + 1 ? b imm dir ext ind,x ind,y cc dc fc ec 18 ec jj kk dd hh ll ff ff 3 2 3 2 3 3 4 5 5 6 3-2 4-3 5-4 6-6 7-6 - - - - 0 - table 10-1 mc68hc11a8 instructions, addressing modes, and execution times (sheet 3 of 6) source form(s) operation boolean expression addressing mode for operand machine coding (hexadecimal) bytes cycle cycle by cycle* condition codes opcode operand(s) s x h i n z v c *cycle-by-cycle number provides a reference to tables 10-2 through 10-8 which detail cycle-by-cycle operation. example: table 10-1 cycle-by-cycle column reference number 2-4 equals table 10-2 line item 2-4.
mc68hc11a8 cpu, addressing modes, and instruction set motorola technical data 10-9 10 lds (opr) load stack pointer m:m + 1 ? sp imm dir ext ind,x ind,y 8e 9e be ae 18 ae jj kk dd hh ll ff ff 3 2 3 2 3 3 4 5 5 6 3-2 4-3 5-4 6-6 7-6 - - - - 0 - ldx (opr) load index register x m:m + 1 ? ix imm dir ext ind,x ind,y ce de fe ee cd ee jj kk dd hh ll ff ff 3 2 3 2 3 3 4 5 5 6 3-2 4-3 5-4 6-6 7-6 - - - - 0 - ldy (opr) load index register y m:m + 1 ? iy imm dir ext ind,x ind,y 18 ce 18 de 18 fe 1a ee 18 ee jj kk dd hh ll ff ff 4 3 4 3 3 4 5 6 6 6 3-4 4-5 5-6 6-7 7-6 - - - - 0 - lsl (opr) logical shift left ext ind,x ind,y a inh b inh 78 68 18 68 48 58 hh ll ff ff 3 2 3 1 1 6 6 7 2 2 5-8 6-3 3-7 2-1 2-1 - - - - lsla lslb lsld logical shift left double inh 05 1 3 2-2 - - - - lsr (opr) logical shift right ext ind,x ind,y a inh b inh 74 64 18 64 44 54 hh ll ff ff 3 2 3 1 1 6 6 7 2 2 5-8 6-3 7-3 2-1 2-1 - - - - lsra lsrb lsrd logical shift right double inh 04 1 3 2-2 - - - - 0 mul multiply 8 by 8 axb ? d inh 3d 1 10 2-13 - - - - - - - neg (opr) 2? complement memory byte 0 ?m ? m ext ind,x ind,y 70 60 18 60 hh ll ff ff 3 2 3 6 6 7 5-8 6-3 7-3 - - - - nega 2? complement a 0 ?a ? a a inh 40 1 2 2-1 - - - - negb 2? complement b 0 ?b ? b b inh 50 1 2 2-1 - - - - nop no operation no operation inh 01 1 2 2-1 - - - - - - - - oraa (opr) or accumulator a (inclusive) a + m ? a a imm a dir a ext a ind,x a ind,y 8a 9a ba aa 18 aa ii dd hh ll ff ff 2 2 3 2 3 2 3 4 4 5 3-1 4-1 5-2 6-2 7-2 - - - - 0 - orab (opr) or accumulator b (inclusive) b + m ? b b imm b dir b ext b ind,x b ind,y ca da fa ea 18 ea ii dd hh ll ff ff 2 2 3 2 3 2 3 4 4 5 3-1 4-1 5-2 6-2 7-2 - - - - 0 - psha push a onto stack a ? stk, sp = sp? a inh 36 1 3 2-6 - - - - - - - - pshb push b onto stack b ? stk, sp = sp? b inh 37 1 3 2-6 - - - - - - - - pshx push x onto stack (lo first) ix ? stk, sp = sp? inh 3c 1 4 2-7 - - - - - - - - pshy push y onto stack (lo first) iy ? stk, sp = sp? inh 18 3c 2 5 2-8 - - - - - - - - pula pull a from stack sp = sp + 1, a ? stk a inh 32 1 4 2-9 - - - - - - - - pulb pull b from stack sp = sp + 1, b ? stk b inh 33 1 4 2-9 - - - - - - - - pulx pull x from stack (hi first) sp = sp + 2, ix ? stk inh 38 1 5 2-10 - - - - - - - - puly pull y from stack (hi first) sp = sp + 2, iy ? stk inh 18 38 2 6 2-11 - - - - - - - - rol (opr) rotate left ext ind,x ind,y a inh b inh 79 69 18 69 49 59 hh ll ff ff 3 2 3 1 1 6 6 7 2 2 5-8 6-3 7-3 2-1 2-1 - - - - rola rolb table 10-1 mc68hc11a8 instructions, addressing modes, and execution times (sheet 4 of 6) source form(s) operation boolean expression addressing mode for operand machine coding (hexadecimal) bytes cycle cycle by cycle* condition codes opcode operand(s) s x h i n z v c *cycle-by-cycle number provides a reference to tables 10-2 through 10-8 which detail cycle-by-cycle operation. example: table 10-1 cycle-by-cycle column reference number 2-4 equals table 10-2 line item 2-4. cb0 b7 0 cb0 b15 0 c b0 b7 0 c b0 b15 0 c b0 b7 c
motorola cpu, addressing modes, and instruction set mc68hc11a8 10-10 technical data 10 ror (opr) rotate right ext ind,x ind,y a inh b inh 76 66 18 66 46 56 hh ll ff ff 3 2 3 1 1 6 6 7 2 2 5-8 6-3 7-3 2-1 2-1 - - - - rora rorb rti return from interrupt see special ops inh 3b 1 12 2-14 rts return from subroutine see special ops inh 39 1 5 2-12 - - - - - - - - sba subtract b from a a ?b ? a inh 10 1 2 2-1 - - - - sbca (opr) subtract with carry from a a ?m ?c ? a a imm a dir a ext a ind,x a ind,y 82 92 b2 a2 18 a2 ii dd hh ll ff ff 2 2 3 2 3 2 3 4 4 5 3-1 4-1 5-2 6-2 7-2 - - - - sbcb (opr) subtract with carry from b b ?m ?c ? b b imm b dir b ext b ind,x b ind,y c2 d2 f2 e2 18 e2 ii dd hh ll ff ff 2 2 3 2 3 2 3 4 4 5 3-1 4-1 5-2 6-2 7-2 - - - - sec set carry 1 ? c inh od 1 2 2-1 - - - - - - - 1 sei set interrupt mask 1 ? i inh of 1 2 2-1 - - - 1 - - - - sev set overflow flag 1 ? v inh ob 1 2 2-1 - - - - - - 1 - staa (opr) store accumulator a a ? m a dir a ext a ind,x a ind,y 97 b7 a7 18 a7 dd hh ll ff ff 2 3 2 3 3 4 4 5 4-2 5-3 6-5 7-5 - - - - 0 - stab (opr) store accumulator b b ? m b dir b ext b ind,x b ind,y d7 f7 e7 18 e7 dd hh ll ff ff 2 3 2 3 3 4 4 5 4-2 5-3 6-5 7-5 - - - - 0 - std (opr) store accumulator d a ? m, b ? m + 1 dir ext ind,x ind,y dd fd ed 18 ed dd hh ll ff ff 2 3 2 3 4 5 5 6 4-4 5-5 6-8 7-7 - - - - 0 - stop stop internal clocks inh cf 1 2 2-1 - - - - - - - - sts (opr) store stack pointer sp ? m:m + 1 dir ext ind,x ind,y 9f bf af 18 af dd hh ll ff ff 2 3 2 3 4 5 5 6 4-4 5-5 6-8 7-7 - - - - 0 - stx (opr) store index register x ix ? m:m + 1 dir ext ind,x ind,y df ff ef cd ef dd hh ll ff ff 2 3 2 3 4 5 5 6 4-4 5-5 6-8 7-7 - - - - 0 - sty (opr) store index register y iy ? m:m + 1 dir ext ind,x ind,y 18 df 18 ff 1a ef 18 ef dd hh ll ff ff 3 4 3 3 5 6 6 6 4-6 5-7 6-9 7-7 - - - - 0 - suba (opr) subtract memory from a a ?m ? a a imm a dir a ext a ind,x a ind,y 80 90 b0 a0 18 a0 ii dd hh li ff ff 2 2 3 2 3 2 3 4 4 5 3-1 4-1 5-2 6-2 7-2 - - - - subb (opr) subtract memory from b b ?m ? b b imm b dir b ext b ind,x b ind,y c0 d0 f0 e0 18 e0 ii dd hh ll ff ff 2 2 3 2 3 2 3 4 4 5 3-1 4-1 5-2 6-2 7-2 - - - - subd (opr) subtract memory from d d ?m:m + 1 ? d imm dlr ext ind,x ind,y 83 93 b3 a3 18 a3 jj kk dd hh ll ff ff 3 2 3 2 3 4 5 6 6 7 3-3 4-7 5-10 6-10 7-8 - - - - swi software interrupt see special ops inh 3f 1 14 2-15 - - - 1- - - - tab transfer a to b a ? b inh 16 1 2 2-1 - - - - 0 - tap transfer a to cc register a ? ccr inh 06 1 2 2-1 tba transfer b to a b ? a inh 17 1 2 2-1 - - - - 0 - table 10-1 mc68hc11a8 instructions, addressing modes, and execution times (sheet 5 of 6) source form(s) operation boolean expression addressing mode for operand machine coding (hexadecimal) bytes cycle cycle by cycle* condition codes opcode operand(s) s x h i n z v c *cycle-by-cycle number provides a reference to tables 10-2 through 10-8 which detail cycle-by-cycle operation. example: table 10-1 cycle-by-cycle column reference number 2-4 equals table 10-2 line item 2-4. c b0 b7 c
mc68hc11a8 cpu, addressing modes, and instruction set motorola technical data 10-11 10 **infinity or until reset occurs ***12 cycles are used beginning with the opcode fetch. a wait state is entered which remains in effect for an integer number of mpu e-clock cycles (n) until an interrupt is recognized. finally, two additional cycles are used to fetch the appropriate interrupt vector (14 + n total). dd = 8-bit direct address ($0000 ?00ff) (high byte assumed to be $00) ff = 8-bit positive offset $00 (0) to $ff (255) (is added to index) hh = high order byte of 16-bit extended address ii = one byte of immediate data jj = high order byte of 16-bit immediate data kk = low order byte of 16-bit immediate data ll = low order byte of 16-bit extended address mm = 8-bit bit mask (set bits to be affected) rr = signed relative offset $80 (?128) to $7f (+ 127) (offset relative to the address following the machine code offset byte) test test (only in test modes) address bus counts inh 00 1 ** 2-20 - - - - - - - - tpa transfer cc register to a ccr ? a inh 07 1 2 2-1 - - - - - - - - tst (opr) test for zero or minus m ?0 ext ind,x ind,y 7d 6d 18 6d hh ll ff ff 3 2 3 6 6 7 5-9 6-4 7-4 - - - - 0 0 tsta a ?0 a inh 4d 1 2 2-1 - - - - 0 0 tstb b ?0 b inh 5d 1 2 2-1 - - - - 0 0 tsx transfer stack pointer to x sp + 1 ? ix inh 30 1 3 2-3 - - - - - - - - tsy transfer stack pointer to y sp + 1 ? iy inh 18 30 2 4 2-5 - - - - - - - - txs transfer x to stack pointer ix ?1 ? sp inh 35 1 3 2-2 - - - - - - - - tys transfer y to stack pointer iy ?1 ? sp inh 18 35 2 4 2-4 - - - - - - - - wai wait for interrupt stack regs & walt inh 3e 1 *** 2-16 - - - - - - - - xgdx exchange d with x ix ? d, d ? ix inh 8f 1 3 2-2 - - - - - - - - xgdy exchange d with y iy ? d, d ? iy inh 18 8f 2 4 2-4 - - - - - - - - table 10-1 mc68hc11a8 instructions, addressing modes, and execution times (sheet 6 of 6) source form(s) operation boolean expression addressing mode for operand machine coding (hexadecimal) bytes cycle cycle by cycle* condition codes opcode operand(s) s x h i n z v c *cycle-by-cycle number provides a reference to tables 10-2 through 10-8 which detail cycle-by-cycle operation. example: table 10-1 cycle-by-cycle column reference number 2-4 equals table 10-2 line item 2-4.
motorola cpu, addressing modes, and instruction set mc68hc11a8 10-12 technical data 10 figure 10-2 special operations sp stack ccr sp+1 accb sp+2 acca sp+3 ix h sp+4 ix l sp+5 iy h sp+6 iy l sp+7 rtn h sp+8 sp+9 70 rtn l pc main program $9d = jsr jsr, jump to subroutine dd next main instr. rtn direct pc main program $ad = jsr ff next main instr. rtn indexed, x pc main program $18 = pre ff next main instr. rtn indexed, y $ad = jsr pc main program $bd = pre ll next main instr. rtn indexed, y hh jmp, jump pc main program $6e = jmp ff next main instr. x + ff indexed, x indexed, y extended pc main program $18 = pre $6e = jmp next main instr. x + ff ff pc main program $7e = jmp hh next main instr. hh ll ll sp stack ccr sp+1 accb sp+2 acca sp+3 ix h sp+4 ix l sp+5 iy h sp+6 iy l sp+7 rtn h sp+8 sp+9 70 rtn l pc interrupt routine $3e = wai sp? stack ccr sp? accb sp? acca sp? ix h sp? ix l sp? iy h sp? iy l sp? rtn h sp? sp 70 rtn l pc main program $3f = swi pc main program $3e = wai swi, software interrupt wai, wait for interrupt wai, wait for interrupt sp? stack rtn h sp? rtn l sp 70 pc main program $8d = bsr pc main program $39 = rts bsr, branch to subroutine rts, return from subroutine sp stack rtn h sp+1 rtn l sp+2 70 legend: rtn = address of next instruction in main program to be executed upon return from subroutine rtn h = most significant byte of return address rtn l = least significant byte of return address = stack pointer position after operation is complete dd = 8-bit direct address ($0000?00ff) (high byte assumed to be $00) ff = 8-bit positive offset $00 (0) to $ff (256) is added to index hh = high-order byte of 16-bit extended address ll = low-order byte of 16-bit extended address rr= signed relative offset $80 (?28) to $7f (+127) (offset relative to the address following the machine code offset byte)
mc68hc11a8 cpu, addressing modes, and instruction set motorola technical data 10-13 10 table 10-2 cycle-by-cycle operation ?inherent mode (sheet 1 of 4) reference number* address mode and instructions cycles cycle # address bus r/w line data bus 2-1 aba, asla, aslb, asra, asrb, cba, clc, cli, clra, clrb, clv, coma, comb, daa, deca, decb, inca, incb, lsla, lslb, lsra, lsrb, nega, negb, nop, rola, rolb, rora, rorb, sba, sec, sei, sev, stop, tab, tap, tba, tpa, tsta, tstb 21 2 opcode address opcode address + 1 1 1 opcode irrelevant data 2-2 abx, asld, dex, inx, lsld, lsrd, txs, xgdx 31 2 3 opcode address opcode address + 1 $ffff 1 1 1 opcode irrelevant data irrelevant data 2-3 des, ins, tsx 3 1 2 3 opcode address opcode address + 1 previous sp value 1 1 1 opcode irrelevant data irrelevant data 2-4 aby, dey, iny, tys, xgdy 41 2 3 4 opcode address opcode address + 1 opcode address + 2 $ffff 1 1 1 1 opcode (page select byte) ($18) opcode (second byte) irrelevant data irrelevant data 2-5 tsy 4 1 2 3 4 opcode address opcode address + 1 opcode address + 2 stack pointer 1 1 1 1 opcode (page select byte) ($18) opcode (second byte) ($30) irrelevant data irrelevant data 2-6 psha, pshb 3 1 2 3 opcode address opcode address + 1 stack pointer 1 1 0 opcode irrelevant data accumulator data 2-7 pshx 4 1 2 3 4 opcode address opcode address + 1 stack pointer stack pointer ?1 1 1 0 0 opcode ($3c) irrelevant data ixl (low byte) to stack ixh (high byte) to stack 2-8 pshy 5 1 2 3 4 5 opcode address opcode address + 1 opcode address + 2 stack pointer stack pointer ?1 1 1 1 0 0 opcode (page select byte) ($18) opcode (second byte) ($3c) irrelevant data ixl (low byte) to stack ixh (high byte) to stack 2-9 pula, pulb 4 1 2 3 4 opcode address opcode address + 1 stack pointer stack pointer + 1 1 1 1 1 opcode irrelevant data irrelevant data operand data from stack 2-10 pulx 5 1 2 3 4 5 opcode address opcode address + 1 stack pointer stack pointer + 1 stack pointer + 2 1 1 1 1 1 opcode ($38) irrelevant data irrelevant data ixh (high byte) from stack ixl (low byte) from stack * the reference number is given to provide a cross-reference to table 10-1.
motorola cpu, addressing modes, and instruction set mc68hc11a8 10-14 technical data 10 2-11 puly 6 1 2 3 4 5 6 opcode address opcode address + 1 opcode address + 2 stack pointer stack pointer + 1 stack pointer + 2 1 1 1 1 1 1 opcode (page select byte) ($18) opcode (second byte) ($38) irrelevant data irrelevant data iyh (high byte) from stack iyh (low byte) from stack 2-12 rts 5 1 2 3 4 5 opcode address opcode address + 1 stack pointer stack pointer +1 stack pointer + 2 1 1 1 1 1 opcode ($39) irrelevant data irrelevant data address of next instruction (high byte) address of next instruction (low byte) 2-13 mul 10 1 2 3 4 5 6 7 8 9 10 opcode address opcode address + 1 $ffff $ffff $ffff $ffff $ffff $ffff $ffff $ffff 1 1 1 1 1 1 1 1 1 1 opcode ($3d) irrelevant data irrelevant data irrelevant data irrelevant data irrelevant data irrelevant data irrelevant data irrelevant data irrelevant data 2-14 rti 12 1 2 3 4 5 6 7 8 9 10 11 12 opcode address opcode address + 1 stack pointer stack pointer + 1 stack pointer + 2 stack pointer + 3 stack pointer + 4 stack pointer + 5 stack pointer + 6 stack pointer + 7 stack pointer + 8 stack pointer + 9 1 1 1 1 1 1 1 1 1 1 1 1 opcode ($3b) irrelevant data irrelevant data condition code register from stack b accumulator from stack a accumulator from stack ixh (high byte) from stack ixl (low byte) from stack iyh (high byte) from stack iyl (low byte) from stack address of next instruction (high byte) address of next instruction (low byte) 2-15 swi 14 1 2 3 4 5 6 7 8 9 10 11 12 13 14 opcode address opcode address + 1 stack pointer stack pointer ?1 stack pointer ?2 stack pointer ?3 stack pointer ?4 stack pointer ?5 stack pointer ?6 stack pointer ?7 stack pointer ?8 stack pointer ?8 address of swi vector (first location) address of vector + 1 (second location) 1 1 0 0 0 0 0 0 0 0 0 1 1 1 opcode ($3f) irrelevant data return address (low byte) return address (high byte) iyl (low byte) to stack iyh (high byte) to stack ixl (low byte) to stack ixh (high byte) to stack a accumulator to stack b accumulator to stack condition code register to stack irrelevant data swi service routine address (high byte) swi service routine address (low byte) table 10-2 cycle-by-cycle operation ?inherent mode (sheet 2 of 4) reference number* address mode and instructions cycles cycle # address bus r/w line data bus * the reference number is given to provide a cross-reference to table 10-1.
mc68hc11a8 cpu, addressing modes, and instruction set motorola technical data 10-15 10 2-16 wai 14 + n 1 2 3 4 5 6 7 8 9 10 11 12 to n + 12 n + 13 n + 14 opcode address opcode address + 1 stack pointer stack pointer ?1 stack pointer ?2 stack pointer ?3 stack pointer ?4 stack pointer ?5 stack pointer ?6 stack pointer ?7 stack pointer ?8 stack pointer ?8 address of vector (first location) address of vector + 1 (second location) 1 1 0 0 0 0 0 0 0 0 0 1 1 1 opcode ($3e) irrelevant data return address (low byte) return address (high byte) iyl (low byte) to stack iyh (high byte) to stack ixl (low byte) to stack ixh (high byte) to stack a accumulator to stack b accumulator to stack condition code register to stack irrelevant data service routine address (high byte) service routine address (low byte) 2-17 fdiv, idiv 41 1 2 3 ?41 opcode address opcode address + 1 $ffff 1 1 1 opcode irrelevant data irrelevant data 2-18 page 1 illegal opcodes 15 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 opcode address opcode address + 1 $ffff stack pointer stack pointer ?1 stack pointer ?2 stack pointer ?3 stack pointer ?4 stack pointer ?5 stack pointer ?6 stack pointer ?7 stack pointer ?8 stack pointer ?8 address of vector (first location) address of vector + 1 (second location) 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 opcode (illegal) irrelevant data irrelevant data return address (low byte) return address (high byte) iyl (low byte) to stack iyh (high byte) to stack ixl (low byte) to stack ixh (high byte) to stack a accumulator b accumulator condition code register to stack irrelevant data service routine address (high byte) service routine address (low byte) 2-19 pages 2, 3, or 4 illegal opcodes 16 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 opcode address opcode address + 1 opcode address + 2 $ffff stack pointer stack pointer ?1 stack pointer ?2 stack pointer ?3 stack pointer ?4 stack pointer ?5 stack pointer ?6 stack pointer ?7 stack pointer ?8 stack pointer ?8 address of vector (first location) address of vector + 1 (second location) 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 opcode (legal page select) opcode (illegal second byte) irrelevant data irrelevant data return address (low byte) return address (high byte) iyl (low byte) to stack iyh (high byte) to stack ixl (low byte) to stack ixh (high byte) to stack a accumulator b accumulator condition code register to stack irrelevant data service routine address (high byte) service routine address (low byte) table 10-2 cycle-by-cycle operation ?inherent mode (sheet 3 of 4) reference number* address mode and instructions cycles cycle # address bus r/w line data bus * the reference number is given to provide a cross-reference to table 10-1.
motorola cpu, addressing modes, and instruction set mc68hc11a8 10-16 technical data 10 2-20 test infinite 1 2 3 4 5 ?n opcode address opcode address + 1 opcode address + 1 opcode address + 2 previous address + 1 1 1 1 1 1 opcode ($00) irrelevant data irrelevant data irrelevant data irrelevant data table 10-3 cycle-by-cycle operation ?immediate mode reference number* address mode and instructions cycles cycle # address bus r/w line data bus 3-1 adca, adcb, adda, addb, anda, andb, bita, bitb, cmpa, cmpb, eora, eorb, ldaa, ldab, oraa, orab, sbca, sbcb, suba, subb, 21 2 opcode address opcode address + 1 1 1 opcode operand data 3-2 ldd, lds, ldx 3 1 2 3 opcode address opcode address + 1 opcode address + 2 1 1 1 opcode operand data (high byte) operand data (low byte) 3-3 addd, cpx, subd 4 1 2 3 4 opcode address opcode address + 1 opcode address + 2 $ffff 1 1 1 1 opcode operand data (high byte) operand data (low byte) irrelevant data 3-4 ldy 4 1 2 3 4 opcode address opcode address + 1 opcode address + 2 opcode address + 3 1 1 1 1 opcode (page select byte) ($18) opcode (second byte) ($ec) operand data (high byte) operand data (low byte) 3-5 cpd, cpy 5 1 2 3 4 5 opcode address opcode address + 1 opcode address + 2 opcode address + 3 $ffff 1 1 1 1 1 opcode (page select byte) opcode (second byte) operand data (high byte) operand data (low byte) irrelevant data *the reference number is given to provide a cross-reference to table 10-1. table 10-4 cycle-by-cycle operation ?direct mode (sheet 1 of 2) reference number* address mode and instructions cycles cycle # address bus r/w line data bus 4-1 adca, adcb, adda, addb, anda, andb, bita, bitb, cmpa, cmpb, eora, eorb, ldaa, ldab, oraa, orab, sbca, sbcb, suba, subb 31 2 3 opcode address opcode address + 1 operand address 1 1 1 opcode operand address (low byte) (high byte assumed to be $00) operand data 4-2 staa, stab 3 1 2 3 opcode address opcode address + 1 operand address 1 1 0 opcode operand address (low byte) (high byte assumed to be $00) data from accumulator *the reference number is given to provide a cross-refrerence to table 10-1. table 10-2 cycle-by-cycle operation ?inherent mode (sheet 4 of 4) reference number* address mode and instructions cycles cycle # address bus r/w line data bus * the reference number is given to provide a cross-reference to table 10-1.
mc68hc11a8 cpu, addressing modes, and instruction set motorola technical data 10-17 10 4-3 ldd, lds, ldx 4 1 2 3 4 opcode address opcode address + 1 operand address operand address + 1 1 1 1 1 opcode operand address (low byte) (high byte assumed to be $00) operand data (high byte) operand data (low byte) 4-4 std, sts, stx 4 1 2 3 4 opcode address opcode address + 1 operand address operand address + 1 1 1 0 0 opcode operand address (low byte) (high byte assumed to be $00) register data (high byte) register data (low byte) 4-5 ldy 5 1 2 3 4 5 opcode address opcode address + 1 opcode address + 2 operand address operand address + 1 1 1 1 1 1 opcode (page select byte) ($18) opcode (second byte) ($de) operand address (low byte) (high byte assumed to be $00) operand data (high byte) operand data (low byte) 4-6 sty 5 1 2 3 4 5 opcode address opcode address + 1 opcode address + 2 operand address operand address + 1 1 1 1 0 0 opcode (page select byte) ($18) opcode (second byte) ($df) operand address (low byte) (high byte assumed to be $00) register data (high byte) register data (low byte) 4-7 addd, cpx, subd 5 1 2 3 4 5 opcode address opcode address + 1 operand address operand address + 1 $ffff 1 1 1 1 1 opcode operand address (low byte) (high byte assumed to be $00) operand data (high byte) operand data (low byte) irrelevant data 4-8 jsr 5 1 2 3 4 5 opcode address opcode address + 1 subroutine address stack pointer stack pointer ?1 1 1 1 0 0 opcode ($9d) subroutine address (low byte) (high byte assumed to be $00) first subroutine opcode return address (low byte) return address (high byte) 4-9 cpd, cpy 6 1 2 3 4 5 6 opcode address opcode address + 1 opcode address + 2 operand address operand address + 1 $ffff 1 1 1 1 1 1 opcode (page select byte) opcode (second byte) operand address (low byte) (high byte assumed to be $00) operand data (high byte) operand data (low byte) irrelevant data 4-10 bclr, bset 6 1 2 3 4 5 6 opcode address opcode address + 1 operand address opcode address + 2 $ffff operand address 1 1 1 1 1 0 opcode operand address (low byte) (high byte assumed to be $00) original operand data mask byte irrelevant data result operand data 4-11 brclr, brset 6 1 2 3 4 5 6 opcode address opcode address + 1 operand address opcode address + 2 opcode address + 3 $ffff 1 1 1 1 1 1 opcode operand address (low byte) (high byte assumed to be $00) original operand data mask byte branch offset irrelevant data table 10-4 cycle-by-cycle operation ?direct mode (sheet 2 of 2) reference number* address mode and instructions cycles cycle # address bus r/w line data bus *the reference number is given to provide a cross-refrerence to table 10-1.
motorola cpu, addressing modes, and instruction set mc68hc11a8 10-18 technical data 10 table 10-5 cycle-by-cycle operation ?extended mode (sheet 1 of 2) reference number* address mode and instructions cycles cycle # address bus r/w line data bus 5-1 jmp 3 1 2 3 opcode address opcode address + 1 opcode address + 2 1 1 1 opcode ($7e) jump address (high byte) jump address (low byte) 5-2 adca, adcb, adda, addb, anda, andb, bita, bitb, cmpa, cmpb, eora, eorb, ldaa, ldab, oraa orab, sbca, sbcb, suba, subb 41 2 3 4 opcode address opcode address + 1 opcode address + 2 operand address 1 1 1 1 opcode operand address (high byte) operand address (low byte) operand data 5-3 staa, stab 4 1 2 3 4 opcode address opcode address + 1 opcode address + 2 operand address 1 1 1 0 opcode operand address (high byte) operand address (low byte) accumulator data 5-4 ldd, lds, ldx 5 1 2 3 4 5 opcode address opcode address + 1 opcode address + 2 operand address operand address + 1 1 1 1 1 1 opcode operand address (high byte) operand address (low byte) operand data (high byte) operand data (low byte) 5-5 std, sts, stx 5 1 2 3 4 5 opcode address opcode address + 1 opcode address + 2 operand address operand address + 1 1 1 1 0 0 opcode operand address (high byte) operand address (low byte) register data (high byte) register data (low byte) 5-6 ldy 6 1 2 3 4 5 6 opcode address opcode address + 1 opcode address + 2 opcode address + 3 operand address operand address + 1 1 1 1 1 1 1 opcode (page select byte) ($18) opcode (second byte) ($fe) operand address (high byte) operand address (low byte) operand data (high byte) operand data (low byte) 5-7 sty 6 1 2 3 4 5 6 opcode address opcode address + 1 opcode address + 2 opcode address + 3 operand address operand address + 1 1 1 1 1 0 0 opcode (page select byte) ($18) opcode (second byte) ($ff) operand address (high byte) operand address (low byte) register data (high byte) register data (low byte) 5-8 asl, asr, clr, com, dec, inc, lsl, lsr, neg, rol, ror 61 2 3 4 5 6 opcode address opcode address + 1 opcode address + 2 operand address $ffff operand address 1 1 1 1 1 0 opcode operand address (high byte) operand address (low byte) original operand data irrelevant data result operand data 5-9 tst 6 1 2 3 4 5 6 opcode address opcode address + 1 opcode address + 2 operand address $ffff $ffff 1 1 1 1 1 1 opcode ($7d) operand address (high byte) operand address (low byte) original operand data irrelevant data irrelevant data 5-10 addd, cpx, subd 6 1 2 3 4 5 6 opcode address opcode address + 1 opcode address + 2 operand address operand address + 1 $ffff 1 1 1 1 1 1 opcode operand address (high byte) operand address (low byte) operand data (high byte) operand data (low byte) irrelevant data *the reference number is given to provide a cross-reference to table 10-1.
mc68hc11a8 cpu, addressing modes, and instruction set motorola technical data 10-19 10 5-11 cpd, cpy 7 1 2 3 4 5 6 7 opcode address opcode address + 1 opcode address + 2 opcode address + 3 operand address operand address + 1 $ffff 1 1 1 1 1 1 1 opcode (page select byte) opcode (second byte) operand address (high byte) operand address (low byte) operand data (high byte) operand data (low byte) irrelevant data 5-12 jsr 6 1 2 3 4 5 6 opcode address opcode address + 1 opcode address + 2 subroutine address stack pointer stack pointer ?1 1 1 1 1 0 0 opcode ($bd) subroutine address (high byte) subroutine address (low byte) first opcode in subroutine return address (low byte) return address (high byte) table 10-6 cycle-by-cycle operation ?indexed x mode (sheet 1 of 2) reference number* address mode and instructions cycles cycle # address bus r/w line data bus 6-1 jmp 3 1 2 3 opcode address opcode address + 1 $ffff 1 1 1 opcode ($6e) index offset irrelevant data 6-2 adca, adcb, adda, addb, anda, andb, bita, bitb, cmpa, cmpb, eora, eorb, ldaa, ldab, oraa, orab, sbca, sbcb, suba, subb 41 2 3 4 opcode address opcode address + 1 $ffff (ix) + offset 1 1 1 1 opcode index offset irrelevant data operand data 6-3 asl, asr, clr, com, dec, inc, lsl, lsr, neg, rol, ror 61 2 3 4 5 6 opcode address opcode address + 1 $ffff (ix) + offset $ffff (ix) + offset 1 1 1 1 1 0 opcode index offset irrelevant data original operand data irrelevant data result operand data 6-4 tst 6 1 2 3 4 5 6 opcode address opcode address + 1 $ffff (ix) + offset $ffff $ffff 1 1 1 1 1 1 opcode ($6d) index offset irrelevant data original operand data irrelevant data irrelevant data 6-5 staa, stab 4 1 2 3 4 opcode address opcode address + 1 $ffff (ix) + offset 1 1 1 0 opcode index offset irrelevant data accumulator data 6-6 ldd, lds, ldx 5 1 2 3 4 5 opcode address opcode address + 1 $ffff (ix) + offset (ix) + offset + 1 1 1 1 1 1 opcode index offset irrelevant data operand data (high byte) operand data (low byte) *the reference number is given to provide a cross-reference to table 10-1. table 10-5 cycle-by-cycle operation ?extended mode (sheet 2 of 2) reference number* address mode and instructions cycles cycle # address bus r/w line data bus *the reference number is given to provide a cross-reference to table 10-1.
motorola cpu, addressing modes, and instruction set mc68hc11a8 10-20 technical data 10 6-7 ldy 6 1 2 3 4 5 6 opcode address opcode address + 1 opcode address + 2 $ffff (ix) + offset (ix) + offset + 1 1 1 1 1 1 1 opcode (page select byte) ($1a) opcode (second byte) ($ee) index offset irrelevant data operand data (high byte) operand data (low byte) 6-8 std, sts, stx 5 1 2 3 4 5 opcode address opcode address + 1 $ffff (ix) + offset (ix) + offset + 1 1 1 1 0 0 opcode index offset irrelevant data register data (high byte) register data (low byte) 6-9 sty 6 1 2 3 4 5 6 opcode address opcode address + 1 opcode address + 2 $ffff (ix) + offset (ix) + offset + 1 1 1 1 1 0 0 opcode (page select byte) ($1a) opcode (second byte) ($ef) index offset irrelevant data register data (high byte) register data (low byte) 6-10 addd, cpx, subd 6 1 2 3 4 5 6 opcode address opcode address + 1 $ffff (ix) + offset (ix) + offset + 1 $ffff 1 1 1 1 1 1 opcode index offset irrelevant data operand data (high byte) operand data (low byte) irrelevant data 6-11 cpd, cpy 7 1 2 3 4 5 6 7 opcode address opcode address + 1 opcode address + 2 $ffff (ix) + offset (ix) + offset + 1 $ffff 1 1 1 1 1 1 1 opcode (page select byte) opcode (second byte) index offset irrelevant data operand data (high byte) operand data (low byte) irrelevant data 6-12 jsr 6 1 2 3 4 5 6 opcode address opcode address + 1 $ffff (ix) + offset stack pointer stack pointer ?1 1 1 1 1 0 0 opcode ($ad) index offset irrelevant data first opcode in subroutine return address (low byte) return address (high byte) 6-13 bclr, bset 7 1 2 3 4 5 6 7 opcode address opcode address + 1 $ffff (ix) + offset opcode address + 2 $ffff (ix) + offset 1 1 1 1 1 1 0 opcode index offset irrelevant data original operand data mask byte irrelevant data result operand data 6-14 brclr, brset 7 1 2 3 4 5 6 7 opcode address opcode address + 1 $ffff (ix) + offset opcode address + 2 opcode address + 3 $ffff 1 1 1 1 1 1 1 opcode index offset irrelevant data original operand data mask byte branch offset irrelevant data table 10-6 cycle-by-cycle operation ?indexed x mode (sheet 2 of 2) reference number* address mode and instructions cycles cycle # address bus r/w line data bus *the reference number is given to provide a cross-reference to table 10-1.
mc68hc11a8 cpu, addressing modes, and instruction set motorola technical data 10-21 10 table 10-7 cycle-by-cycle operation ?indexed y mode (sheet 1 of 2) reference number* address mode and instructions cycles cycle # address bus r/w line data bus 7-1 jmp 4 1 2 3 4 opcode address opcode address + 1 opcode address + 2 $ffff 1 1 1 1 opcode (page select byte) ($18) opcode (second byte) ($6e) index offset irrelevant data 7-2 adca, adcb, adda, addb, anda andb, bita, bitb, cmpa, cmpb, eora, eorb, ldaa, ldab, oraa, orab, sbca, sbcb, suba, subb, 51 2 3 4 5 opcode address opcode address + 1 opcode address + 2 $ffff (iy) + offset 1 1 1 1 1 opcode (page select byte) ($18) opcode (second byte) index offset irrelevant data operand data 7-3 asl, asr, clr, com, dec, inc, lsl, lsr, neg, rol, ror 71 2 3 4 5 6 7 opcode address opcode address + 1 opcode address + 2 $ffff (iy) + offset $ffff (iy) + offset 1 1 1 1 1 1 0 opcode (page select byte) opcode (second byte) index offset irrelevant data original operand data irrelevant data result operand data 7-4 tst 7 1 2 3 4 5 6 7 opcode address opcode address + 1 opcode address + 2 $ffff (iy) + offset $ffff $ffff 1 1 1 1 1 1 1 opcode (page select byte) ($18) opcode (second byte) ($6d) index offset irrelevant data original operand data irrelevant data irrelevant data 7-5 staa, stab 5 1 2 3 4 5 opcode address opcode address + 1 opcode address + 2 $ffff (iy) + offset 1 1 1 1 0 opcode (page select byte) ($18) opcode (second byte) index offset irrelevant data accumulator data 7-6 ldd, lds, ldx, ldy 61 2 3 4 5 6 opcode address opcode address + 1 opcode address + 2 $ffff (iy) + offset (iy) + offset + 1 1 1 1 1 1 1 opcode (page select byte) opcode (second byte) index offset irrelevant data operand data (high byte) operand data (low byte) 7-7 std, sts, stx, sty 61 2 3 4 5 6 opcode address opcode address + 1 opcode address + 2 $ffff (iy) + offset (iy) + offset + 1 1 1 1 1 0 0 opcode (page select byte) opcode (second byte) index offset irrelevant data register data (high byte) register data (low byte) 7-8 addd, cpd, cpx, cpy, subd 71 2 3 4 5 6 7 opcode address opcode address + 1 opcode address + 2 $ffff (iy) + offset (iy) + offset + 1 $ffff 1 1 1 1 1 1 1 opcode (page select byte) opcode (second byte) index offset irrelevant data operand data (high byte) operand data (low byte) irrelevant data * the reference number is given to provide a cross-reference to table 10-1.
motorola cpu, addressing modes, and instruction set mc68hc11a8 10-22 technical data 10 7-9 jsr 7 1 2 3 4 5 6 7 opcode address opcode address + 1 opcode address + 2 $ffff (iy) + offset stack pointer stack pointer ?1 1 1 1 1 1 0 0 opcode (page select byte) ($18) opcode (second byte) ($ad) index offset irrelevant data first opcode in subroutine return address (low byte) return address (high byte) 7-10 bclr, bset 8 1 2 3 4 5 6 7 8 opcode address opcode address + 1 opcode address + 2 $ffff (iy) + offset opcode address + 3 $ffff (iy) + offset 1 1 1 1 1 1 1 0 opcode (page select byte) ($18) opcode (second byte) index offset irrelevant data original operand data mask byte irrelevant data result operand data 7-11 brclr, brset 8 1 2 3 4 5 6 7 8 opcode address opcode address + 1 opcode address + 2 $ffff (iy) + offset opcode address + 3 opcode address + 4 $ffff 1 1 1 1 1 1 1 1 opcode (page select byte) ($18) opcode (second byte) index offset irrelevant data original operand data mask byte branch offset irrelevant data table 10-8 cycle-by-cycle operation ?relative mode reference number* address mode and instructions cycles cycle # address bus r/w line data bus 8-1 bcc, bcs, beq, bge, bgt, bhi, bhs, ble, blo, bls, blt, bmi, bne, bpl, bra, brn, bvc, bvs, 31 2 3 opcode address opcode address + 1 $ffff 1 1 1 opcode branch offset irrelevant data 8-2 bsr 6 1 2 3 4 5 6 opcode address opcode address + 1 $ffff subroutine address stack pointer stack pointer ?1 1 1 1 1 0 0 opcode ($8d) branch offset irrelevant data opcode of next instruction return address (low byte) return address (high byte) *the reference number is given to provide a cross-reference to table 10-1. table 10-7 cycle-by-cycle operation ?indexed y mode (sheet 2 of 2) reference number* address mode and instructions cycles cycle # address bus r/w line data bus * the reference number is given to provide a cross-reference to table 10-1.
mc68hc11a8 electrical characteristics motorola technical data a-1 a a electrical characteristics *one pin at a time, observing maximum power dissipation limits. internal circuitry protects the inputs against damage caused by high static voltages or electric fields; however, normal precautions are necessary to avoid application of any voltage higher than maximum-rated voltages to this high-impedance circuit. extended operation at the maximum ratings can adversely affect device reliability. tying unused inputs to an appropriate logic voltage level (either gnd or v dd ) enhances reliability of operation. notes: 1. this is an approximate value, neglecting p i/o . 2. for most applications p i/o ?p int and can be neglected. 3. k is a constant pertaining to the device. solve for k with a known t a and a measured p d (at equilibrium). use this value of k to solve for p d and t j iteratively for any value of t a . table a-1 maximum rating rating symbol value unit supply voltage v dd ?0.3 to + 7.0 v input voltage v in ?0.3 to + 7.0 v operating temperature range mc68hc11a8 mc68hc11a8c mc68hc11a8v mc68hc11a8m mc68l11a8 t a t l to t h 0 to 70 ?40 to 85 ?40 to 105 ?40 to 125 ?20 to 70 c storage temperature range t stg ?55 to 150 c current drain per pin* excluding v dd , v ss , v rh , and v rl i d 25 ma table a-2 thermal characteristics characteristic symbol value unit average junction temperature t j t a + (p d x q ja ) c ambient temperature t a user-determined c package thermal resistance (junction-to-ambient) 52-pin plastic quad pack (plcc) 48-pin plastic dual in-line package (dip) q ja 50 40 c/w total power dissipation p d p int + p i/o k ? (t j + 273 c) (note 1) w device internal power dissipation p int i dd x v dd w i/o pin power dissipation p i/o (note 2) user-determined w a constant k p d x (t a + 273 c) + q ja x p d 2 (note 3) w ? c
motorola electrical characteristics mc68hc11a8 a-2 technical data a notes: 1. v oh specification for reset and moda is not applicable because they are open-drain pins. v oh specification not applicable to ports c and d in wired-or mode. 2. refer to a/d specification for leakage current for port e. 3. extal is driven with a square wave, and t cyc = 500 ns for 2 mhz rating; t cyc = 333 ns for 3 mhz rating. v il 0.2 v v ih 3 v dd ?0.2 v no dc loads. table a-3 dc electrical characteristics v dd = 5.0 vdc 10%, v ss = 0 vdc, t a = t l to t h , unless otherwise noted characteristics symbol min max unit output voltage (note 1) all outputs except xtal all outputs except xtal, reset , i load = 10.0 m a and moda v ol v oh v dd ?01 0.1 v output high voltage (note 1) all outputs except xtal, i load = ?0.8 ma, v dd = 4.5 v reset , and moda v oh v dd ?0.8 v output low voltage all outputs except xtal i load = 1.6 ma v ol 0.4 v input high voltage all inputs except reset reset v ih 0.7 x v dd 0.8 x v dd v dd + 0.3 v dd + 0.3 v input low voltage all inputs v il v ss ?0.3 0.2 x v dd v i/o ports, three-state leakage pa7, pc0-pc7, pd0-pd5, v in = v ih or v il as/stra, moda/lir , reset i oz 10 m a input leakage current (note 2) v in = v dd or v ss pa0-pa2, irq , xirq v in = v dd or v ss modb/v stby l in 1 10 m a ram standby voltage power down v sb 4.0 v dd v ram standby current power down i sb ?0 m a total supply current (note 3) run: single-chip mode expanded multiplexed mode wait: all peripheral functions shut down single-chip mode expanded multiplexed mode stop: no clocks, single-chip mode i dd dc ?2 mhz 3 mhz dc ?2 mhz 3 mhz w idd dc ?2 mhz 3 mhz dc ?2 mhz 3 mhz s idd dc ?2 mhz 3 mhz 15 27 27 35 6 15 10 20 50 150 ma ma m a input capacitance pa0-pa2, pe0-pe7, irq , xirq , extal pa7, pc0-pc7, pd0-pd5, as/stra, moda/ lir , reset c in 8 12 pf power dissipation single-chip mode expanded multiplexed mode single-chip mode expanded multiplexed mode p d 2 mhz 3 mhz 85 150 150 195 mw
mc68hc11a8 electrical characteristics motorola technical data a-3 a notes: 1. v oh specification for reset and moda is not applicable because they are open-drain pins. v oh specification not applicable to ports c and d in wired-or mode. 2. refer to a/d specification for leakage current for port e. 3. extal is driven with a square wave, and t cyc = 1000 ns for 1mhz rating; t cyc = 500 ns for 2 mhz rating. v il 0.2 v v ih 3 v dd ?0.2 v no dc loads. table a-3a dc electrical characteristics (mc68l11a8) v dd = 3.0 vdc to 5.5 vdc, v ss = 0 vdc, t a = t l to t h , unless otherwise noted characteristics symbol min max unit output voltage (note 1) all outputs except xtal all outputs except xtal, reset , i load = 10.0 m a and moda v ol v oh v dd ?01 0.1 v output high voltage (note 1) all outputs except xtal, i load = ?0.8 ma, v dd = 4.5 v reset , and moda v oh v dd ?0.8 3 v output low voltage all outputs except xtal i load = 1.6 ma v ol 0.4 v input high voltage all inputs except reset reset v ih 0.7 x v dd 0.8 x v dd v dd + 0.3 v dd + 0.3 v input low voltageall inputs v il v ss ?0.3 0.2 x v dd v i/o ports, three-state leakage pa7, pc0-pc7, pd0-pd5, v in = v ih or v il as/stra, moda/lir , reset i oz 10 m a input leakage current (note 2) v in = v dd or v ss pa0-pa2, irq , xirq v in = v dd or v ss modb/v stby l in 1 10 m a ram standby voltage power down v sb 2.0 v dd v ram standby current power down i sb ?0 m a total supply current (note 3) run: single-chip mode expanded multiplexed mode wait: all peripheral functions shut down single-chip mode expanded multiplexed mode stop: no clocks, single-chip mode i dd dc ?1 mhz 2mhz dc ?1 mhz 2 mhz w idd dc ?1 mhz 2 mhz dc ?1 mhz 2 mhz s idd dc ?1 mhz 2 mhz 4 8 7 14 3 6 2.5 5 25 25 ma ma m a input capacitance pa0-pa2, pe0-pe7, irq , xirq , extal pa7, pc0-pc7, pd0-pd5, as/stra, moda/ lir , reset c in 8 12 pf power dissipation single-chip mode expanded multiplexed mode single-chip mode expanded multiplexed mode p d 1 mhz 2 mhz 12 21 24 42 mw
motorola electrical characteristics mc68hc11a8 a-4 technical data a figure a-1 test methods notes: 1. full test loads are applied during all dc electrical tests and ac timing measurements. 2. during ac timing measurements, inputs are driven to 0.4 volts and vdd ?0.8 volts while timing clocks, strobes inputs v dd ?0.8 volts 0.4 volts v dd ~ nominal timing nom. 20% of v dd 70% of v dd v dd ?0.8 volts 0.4 volts v ss ~ v dd ~ nom. outputs 0.4 volts dc testing clocks, strobes inputs 20% of v dd 70% of v dd v ss ~ v dd ~ spec timing v dd ?0.8 volts 20% of v dd 70% of v dd 0.4 volts v ss ~ v dd ~ spec outputs ac testing (note 2) 20% of v dd 70% of v dd 20% of v dd v ss ~ spec measurements are taken at the 20% and 70% of v dd points. test methods
mc68hc11a8 electrical characteristics motorola technical data a-5 a notes: 1. reset is recognized during the first clock cycle it is held low. internal circuitry then drives the pin low for four clock cycles, releases the pin, and samples the pin level two cycles later to determine the source of the interrupt. refer to 9 resets, interrupts, and low power modes for further detail. 2. all timing is shown with respect to 20% v dd and 70% v dd , unless otherwise noted. table a-4 control timing v dd = 5.0 vdc 10%, v ss = 0 vdc, t a = t l to t h characteristic symbol 1.0 mhz 2.0 mhz 3.0 mhz unit min max min max min max frequency of operation f o dc 1.0 dc 2.0 dc 3.0 mhz e-clock period t cyc 1000 500 333 ns crystal frequency f xtal 4.0 8.0 12.0 mhz external oscillator frequency 4 f o dc 4.0 dc 8.0 dc 12.0 mhz processor control setup t pcsu = 1/4 t cyc + 50 ns time t pcsu 300 175 133 ns reset input pulse width (to guarantee external (note 1) reset vector) (minimum input time; can be preempted by internal reset) pw rstl 8 1 8 1 8 1 t cyc mode programming setup time t mps 2??t cyc mode programming hold time t mph 10?0?0ns interrupt pulse width, pw irq = t cyc + 20 ns irq edge-sensitive mode pw irq 1020 520 353 ns wait recovery start-up time t wrs ???t cyc timer pulse width pw tim = t cyc + 20 ns input capture, pulse accumulator input pw tim 1020 520 353 ns
motorola electrical characteristics mc68hc11a8 a-6 technical data a notes: 1. reset is recognized during the first clock cycle it is held low. internal circuitry then drives the pin low for four clock cycles, releases the pin, and samples the pin level two cycles later to determine the source of the interrupt. refer to 9 resets, interrupts, and low power modes for further detail. 2. all timing is shown with respect to 20% v dd and 70% v dd , unless otherwise noted. table a-4a control timing (mc68l11a8) v dd = 3.0 vdc to 5.5 vdc, v ss = 0 vdc, t a = t l to t h characteristic symbol 1.0 mhz 2.0 mhz unit min max min max frequency of operation f o dc 1.0 dc 2.0 mhz e-clock period t cyc 1000 500 ns crystal frequency f xtal 4.0 8.0 mhz external oscillator frequency 4 f o dc 4.0 dc 8.0 mhz processor control setup t pcsu = 1/4 t cyc + 50 ns time t pcsu 325 200 ns reset input pulse width (to guarantee external (note 1) reset vector) (minimum input time; can be preempted by internal reset) pw rstl 8 1 8 1 t cyc mode programming setup time t mps 2?t cyc mode programming hold time t mph 10?0ns interrupt pulse width, pw irq = t cyc + 20 ns irq edge-sensitive mode pw irq 1020 520 ns wait recovery start-up time t wrs ??t cyc timer pulse width pw tim = t cyc + 20 ns input capture, pulse accumulator input pw tim 1020 520 ns
mc68hc11a8 electrical characteristics motorola technical data a-7 a figure a-2 timer inputs notes: 1. rising edge sensitive input 2. falling edge sensitive input 3. maximum pulse accumulator clocking rate is e-clock frequency divided by 2. pa7 2,3 pa7 1,3 pa[2:0] 2 pa[2:0] 1 pw tim timer inputs tim
motorola a-8 electrical characteristics mc68hc11a8 technical data t pcsu address moda, modb e extal v dd reset 4064 t cyc fffe fffe fffe new pc fffe ffff fffe fffe fffe new pc fffe ffff fffe t mph pw rstl t mps por ext reset tim figure a-3 por and external reset timing diagram
electrical characteristics mc68hc11a8 technical data motorola a-9 pw irq t stopdelay 3 irq 1 irq or xirq e sp ?8 sp ?8 fff2 (fff4) new pc stop addr stop addr + 1 address 4 stop addr stop addr + 1 stop addr + 1 stop addr + 1 stop addr + 2 sp?p? fff3 (fff5) opcode resume program with instruction which follows the stop instruction. notes: 1. edge sensitive irq pin (irqe bit = 1) 2. level sensitive irq pin (irqe bit = 0) 3. t stopdelay = 4064 t cyc if dly bit = 1 or 4 t cyc if dly = 0. 4. xirq with x bit in ccr = 1. 5. irq or (xirq with x bit in ccr = 0). internal address 5 stop recovery tim clocks figure a-4 stop recovery timing diagram
motorola a-10 electrical characteristics mc68hc11a8 technical data wait recovery tim t pcsu pcl pch, yl, yh, xl, xh, a, b, ccr stack registers e r/w address wait addr wait addr + 1 irq , xirq , or internal interrupts note: reset also causes recovery from wait. sp sp ?1 sp ?2?p ?8 sp ?8 sp ?8?p ?8 sp ?8 sp ?8 sp ?8 vector addr vector addr + 1 new pc t wrs figure a-5 wait recovery timing diagram
electrical characteristics mc68hc11a8 technical data motorola a-11 interrupt tim e pw irq sp ?8 sp ?8 address new pc next opcode next op + 1 irq 1 vector addr sp ?7 t pcsu irq 2 , xirq , or internal interrupt sp sp ?1 sp ?2 sp ?3 sp ?4 sp ?5 sp ?6 vector addr + 1 op code ? notes: 1. edge sensitive irq pin (irqe bit = 1) 2. level sensitive irq pin (irqe bit = 0) data pcl pch iyl iyh ixl ixh b a ccr ? vect msb vect lsb op code r/w figure a-6 interrupt timing diagram
motorola electrical characteristics mc68hc11a8 a-12 technical data a notes: 1. if this setup time is met, strb acknowledges in the next cycle. if it is not met, the response may be delayed one more cycle. 2. port c and d timing is valid for active drive (cwom and dwom bits not set in pioc and spcr registers respec- tively). 3. all timing is shown with respect to 20% v dd and 70% v dd , unless otherwise noted. table a-5 peripheral port timing v dd = 5.0 vdc 10%, v ss = 0 vdc, t a = t l to t h characteristic symbol 1.0 mhz 2.0 mhz 3.0 mhz unit min max min max min max frequency of operation (e-clock frequency) f o dc 1.0 dc 2.0 dc 3.0 mhz e-clock period t cyc 1000 ?500 333 ns peripheral data setup time (mcu read of ports a, c, d, and e) t pdsu 100 100 100 ns peripheral data hold time (mcu read of ports a, c, d, and e) t pdh 50?0?0 ns delay time, peripheral data write mcu write to port a mcu writes to ports b, c, and d t pwd = 1/4 t cyc + 100 ns t pwd 200 350 200 225 200 183 ns input data setup time (port c) t is 60?0?0 ns input data hold time (port c) t ih 100 100 100 ns delay time, e fall to strb t deb = 1/4 t cyc + 100 ns t deb 350 225 183 ns setup time, stra asserted to e fall (note 1) t aes 0???s delay time, stra asserted to port c data output valid t pcd 100 100 100 ns hold time, stra negated to port c data t pch 10?0?0 ns three-state hold time t pcz 150 150 150 ns
mc68hc11a8 electrical characteristics motorola technical data a-13 a notes: 1. if this setup time is met, strb acknowledges in the next cycle. if it is not met, the response may be delayed one more cycle. 2. port c and d timing is valid for active drive (cwom and dwom bits not set in pioc and spcr registers respec- tively). 3. all timing is shown with respect to 20% v dd and 70% v dd , unless otherwise noted. table a-5a peripheral port timing (mc68l11a8) v dd = 3.0 vdc to 5.5 vdc, v ss = 0 vdc, t a = t l to t h characteristic symbol 1.0 mhz 2.0 mhz unit min max min max frequency of operation (e-clock frequency) f o dc 1.0 dc 2.0 mhz e-clock period t cyc 1000 ?500 ns peripheral data setup time (mcu read of ports a, c, d, and e) t pdsu 100 100 ns peripheral data hold time (mcu read of ports a, c, d, and e) t pdh 50?0 ns delay time, peripheral data write mcu write to port a mcu writes to ports b, c, and d t pwd = 1/4 t cyc + 150 ns t pwd 250 400 250 275 ns input data setup time (port c) t is 60?0 ns input data hold time (port c) t ih 100 100 ns delay time, e fall to strb t deb = 1/4 t cyc + 150 ns t deb 400 275 ns setup time, stra asserted to e fall (note 1) t aes 0??s delay time, stra asserted to port c data output valid t pcd 100 100 ns hold time, stra negated to port c data t pch 10?0 ns three-state hold time t pcz 150 150 ns
motorola electrical characteristics mc68hc11a8 a-14 technical data a figure a-7 port write timing diagram figure a-8 port read timing diagram figure a-9 simple output strobe timing diagram a8 port wr tim t pwd e mcu write to port previous port data previous port data new data valid new data valid ports b, c, d port a t pwd a8 port rd tim t pdh e mcu read of port t pdsu ports port e t pdh t pdsu * for non-latched operation of port c a, c*, d output strobe tim t pwd e mcu write to port b previous port data new data valid strb (out) port b t deb
mc68hc11a8 electrical characteristics motorola technical data a-15 a figure a-10 simple input strobe timing diagram figure a-11 port c input handshake timing diagram figure a-12 port c output handshake timing diagram input strobe tim stra (in) t is port c (in) t ih portc input hndshk tim e port c (in) t deb strb (out) read portcl 1 stra (in) t deb "ready" notes: 1. after reading pioc with staf set 2. figure shows rising edge stra (ega = 1) and high true strb (invb = 1). t aes t is t ih portc output hndshk tim t pwd e previous port data new data valid strb (out) port c (out) write portcl 1 "ready" stra (in) notes: 1. after reading pioc with staf set 2. figure shows rising edge stra (ega = 1) and high true strb (invb = 1). t deb t deb t aes
motorola electrical characteristics mc68hc11a8 a-16 technical data a figure a-13 three-state variation of output handshake timing diagram (stra enables output buffer) e t deb port c (out) (ddr = 1) read portcl 1 strb (out) t pwd "ready" notes: 1. after reading pioc with staf set 2. figure shows rising edge stra (ega = 1) and high true strb (invb = 1). t aes old data new data valid port c (out) (ddr = 0) stra (in) a) stra active before portcl write new data valid port c (out) (ddr = 0) stra (in) b) stra active after portcl write t deb t pcz t pch t pcz t pch t pcd t pcd 3state var hndshk
mc68hc11a8 electrical characteristics motorola technical data a-17 a notes: 1. source impedances greater than 10 k w affect accuracy adversely because of input leakage. 2. performance verified down to 2.5 v d v r , but accuracy is tested and guaranteed at d v r = 5 v 10%. table a-6 analog-to-digital converter characteristics v dd = 5.0 vdc 10%, v ss = 0 vdc, t a = t l to t h , 750 khz e 3.0 mhz, unless otherwise noted characteristic parameter min absolute 2.0 mhz 3.0 mhz unit max max resolution number of bits resolved by a/d converter 8 bits non-linearity maximum deviation from the ideal a/d transfer characteristics 1/2 1 lsb zero error difference between the output of an ideal and an actual for zero input voltage 1/2 1 lsb full scale error difference between the output of an ideal and an actual a/d for full-scale input voltage 1/2 1 lsb total unadjust- ed error maximum sum of non-linearity, zero error, and full-scale error 1/2 1 1/2 lsb quantization error uncertainty because of converter resolution 1/2 1/2 lsb absolute accu- racy difference between the actual input voltage and the full-scale weighted equivalent of the binary output code, all error sources included 1 2 lsb conversion range analog input voltage range v rl ? rh v rh v v rh maximum analog reference voltage (note 2) v rl ? dd + 0.1 v dd + 0.1 v v rl minimum analog reference voltage (note 2) v ss ? 0.1 ? rh v rh v d v r minimum difference between v rh and v rl (note 2) 3v conversion time total time to perform a single analog-to-digital conversion: a. e clock b. internal rc oscillator 32 t cyc + 32 t cyc + 32 t cyc m s monotonicity conversion result never decreases with an in- crease in input voltage and has no missing codes guaranteed zero input reading conversion result when v in = v rl 00 hex full scale reading conversion result when v in = v rh ff ff hex sample acqui- sition time analog input acquisition sampling time: a. e clock b. internal rc oscillator 12 12 12 t cyc m s sample/hold capacitance input capacitance during sample pe0-pe7 20 (typ) pf input leakage input leakage on a/d pinspe0-pe7 v rl , v rh 400 1.0 400 1.0 na m a
motorola electrical characteristics mc68hc11a8 a-18 technical data a notes: 1. source impedances greater than 10 k w affect accuracy adversely because of input leakage. table a-6a analog-to-digital converter characteristics (mc68l11a8) v dd = 3.0 vdc to 5.5 vdc, v ss = 0 vdc, t a = t l to t h , 750 khz e 2.0 mhz, unless otherwise noted characteristic parameter min absolute max unit resolution number of bits resolved by a/d converter 8 bits non-linearity maximum deviation from the ideal a/d transfer characteristics 1 lsb zero error difference between the output of an ideal and an actual for zero input voltage 1 lsb full scale error difference between the output of an ideal and an actual a/d for full-scale input voltage 1 lsb total unadjusted error maximum sum of non-linearity, zero error, and full-scale error 1 1/2 lsb quantization error uncertainty because of converter resolution 1/2 lsb absolute accuracy difference between the actual input voltage and the full-scale weighted equivalent of the binary output code, all error sources included 2 lsb conversion range analog input voltage range v rl ? rh v v rh maximum analog reference voltage(note 2) v rl ? dd + 0.1 v v rl minimum analog reference voltage (note 2) v ss ?0.1 v rh v d v r minimum difference between v rh and v rl (note 2) 3v conversion time total time to perform a single analog-to-digital conversion: a. e clock b. internal rc oscillator 32 t cyc + 32 t cyc m s monotonicity conversion result never decreases with an in- crease in input voltage and has no missing codes guaranteed zero input reading conversion result when v in = v rl 00 hex full scale reading conversion result when v in = v rh ff hex sample acquisition time analog input acquisition sampling time: a. e clock b. internal rc oscillator 12 12 t cyc m s sample/hold ca- pacitance input capacitance during sample pe0-pe7 20 (typ) pf input leakage input leakage on a/d pinspe0-pe7 v rl , v rh 400 1.0 na m a
mc68hc11a8 electrical characteristics motorola technical data a-19 a notes: 1. formula only for dc to 2 mhz. 2. input clocks with duty cycles other than 50% affect bus performance. timing parameters affected by input clock duty cycle are identified by (a) and (b). to recalculate the approximate bus timing values, substitute the following expressions in place of 1/8 t cyc in the above formulas, where applicable: (a) (1-dc) x 1/4 t cyc (b) dc x 1/4 t cyc where: dc is the decimal value of duty cycle percentage (high time). 3. all timing is shown with respect to 20% v dd and 70% v dd , unless otherwise noted. table a-7 expansion bus timing v dd = 5.0 vdc 10%, v ss = 0 vdc, t a = t l to t h num characteristic symbol 1.0 mhz 2.0 mhz 3.0 mhz unit min max min max min max frequency of operation (e-clock frequency) f o dc 1.0 dc 2.0 dc 3.0 mhz 1 cycle time t cyc 1000 ?500 333 ns 2 pulse width, e low pw el = 1/2 t cyc ?23 ns(note 1) pw el 477 227 146 ns 3 pulse width, e high pw eh = 1/2 t cyc ?28 ns(note 1) pw eh 472 222 141 ns 4a, b e and as rise and fall time t r t f ?0 20 ?0 20 ?0 15 ns 9 address hold time t ah = 1/8 t cyc ?29.5 ns (note 1, 2a) t ah 95.5 33 26 ns 12 non-muxed address valid time to e rise t av = pw el ?(t asd + 80 ns)(note 1, 2a) t av 281.5 94 54 ns 17 read data setup time t dsr 30?0?0ns 18 read data hold time (max = t mad )t dhr 0 145.5 0 83 0 51 ns 19 write data delay time t ddw = 1/8 t cyc + 65.5 ns (note 1, 2a) t ddw 190.5 128 71 ns 21 write data hold time t dhw = 1/8 t cyc ?29.5 ns(note 1, 2a) t dhw 95.5 33 26 ns 22 muxed address valid time to e rise t avm = pw el ?(t asd + 90 ns)(note 1, 2a) t avm 271.5 84 54 ns 24 muxed address valid time to as fall t asl = pw ash ?70 ns(note 1) t asl 151?6?3ns 25 muxed address hold time t ahl = 1/8 t cyc ?29.5 ns(note 1, 2b) t ahl 95.5 33 31 ns 26 delay time, e to as rise t asd = 1/8 t cyc ?9.5 ns (note 1, 2a) t asd 115.5 53 31 ns 27 pulse width, as high pw ash = 1/4 t cyc ?29 ns(note 1) pw ash 221?6?3ns 28 delay time, as to e rise t ased = 1/8 t cyc ?9.5 ns(note 1, 2b) t ased 115.5 53 31 ns 29 mpu address access time(note 2a) t acca = t cyc ?(pw el ?t avm ) ?t dsr ?t f t acca 744.5 307 196 ns 35 mpu access time t acce = pw eh ?t dsr t acce 442 192 111 ns 36 muxed address delay (previous cycle mpu read) t mad = t asd + 30 ns(note 1, 2a) t mad 145.5 83 51 ns
motorola electrical characteristics mc68hc11a8 a-20 technical data a notes: 1. formula only for dc to 2 mhz. 2. input clocks with duty cycles other than 50% affect bus performance. timing parameters affected by input clock duty cycle are identified by (a) and (b). to recalculate the approximate bus timing values, substitute the following expressions in place of 1/8 t cyc in the above formulas, where applicable: (a) (1-dc) x 1/4 t cyc (b) dc x 1/4 t cyc where: dc is the decimal value of duty cycle percentage (high time). 3. all timing is shown with respect to 20% v dd and 70% v dd , unless otherwise noted. table a-7a expansion bus timing (mc68l11a8) v dd = 3.0 vdc to 5.5 vdc, v ss = 0 vdc, t a = t l to t h num characteristic symbol 1.0 mhz 2.0 mhz unit min max min max frequency of operation (e-clock frequency) f o dc 1.0 dc 2.0 mhz 1 cycle time t cyc 1000 ?500 ns 2 pulse width, e low pw el = 1/2 t cyc ?23 ns (note 1) pw el 475 225 ns 3 pulse width, e high pw eh = 1/2 t cyc ?28 ns (note 1) pw eh 470 220 ns 4a, b e and as rise and fall time t r t f ?5 25 ?5 25 ns 9 address hold time t ah = 1/8 t cyc ?29.5 ns (note 1, 2a) t ah 95?3ns 12 non-muxed address valid time to e rise t av = pw el ?(t asd + 80 ns) (note 1, 2a) t av 275 88 ns 17 read data setup time t dsr 30?0ns 18 read data hold time (max = t mad )t dhr 0 150 0 88 ns 19 write data delay time t ddw = 1/8 t cyc + 65.5 ns (note 1, 2a) t ddw 195 133 ns 21 write data hold time t dhw = 1/8 t cyc ?29.5 ns (note 1, 2a) t dhw 95?3ns 22 muxed address valid time to e rise t avm = pw el ?(t asd + 90 ns) (note 1, 2a) t avm 265 78 ns 24 muxed address valid time to as fall t asl = pw ash ?70 ns (note 1) t asl 150 25 ns 25 muxed address hold time t ahl = 1/8 t cyc ?29.5 ns (note 1, 2b) t ahl 95?3ns 26 delay time, e to as rise t asd = 1/8 t cyc ?9.5 ns (note 1, 2a) t asd 120 58 ns 27 pulse width, as high pw ash = 1/4 t cyc ?29 ns (note 1) pw ash 220 95 ns 28 delay time, as to e rise t ased = 1/8 t cyc ?9.5 ns (note 1, 2b) t ased 120 58 ns 29 mpu address access time (note 2a) t acca = t cyc ?(pw el ?t avm ) ?t dsr ?t f t acca 735 298 ns 35 mpu access time t acce = pw eh ?t dsr t acce 440 190 ns 36 muxed address delay (previous cycle mpu read) t mad = t asd + 30 ns (note 1, 2a) t mad 150 88 ns
mc68hc11a8 electrical characteristics motorola technical data a-21 a figure a-14 multiplexed expansion bus timing diagram mux bus tim e as 1 4a 9 address/data (multiplexed) read write 12 2 3 4b 4a 4b 29 35 17 18 19 21 25 24 27 36 22 26 28 address address data data r/w , address (non-mux) note: measurement points shown are 20% and 70% of v dd .
motorola electrical characteristics mc68hc11a8 a-22 technical data a notes: 1. all timing is shown with respect to 20% v dd and 70% v dd , unless otherwise noted. 2. signal production depends on software. 3. assumes 200 pf load on all spi pins. table a-8 serial peripheral interface (spi) timing v dd = 5.0 vdc 10%, v ss = 0 vdc, t a = t l to t h num characteristic symbol 2.0 mhz 3.0 mhz unit min max min max operating frequency master slave f op(m) f op(s ) dc dc 0.5 2.0 dc dc 0.5 3.0 f op mhz 1 cycle time master slave t cyc(m) t cyc(s) 2.0 500 2.0 333 t cyc ns 2 enable lead time master (note 2) slave t lead(m) t lead(s) 250 240 ns ns 3 enable lag time master (note 2) slave t lag(m) t lag(s) 250 240 ns ns 4 clock (sck) high time master slave t w(sckh)m t w(sckh)s 340 190 227 127 ns ns 5 clock (sck) low time master slave t w(sckl)m t w(sckl)s 340 190 227 127 ns ns 6 data setup time (inputs) master slave t su(m) t su(s) 100 100 100 100 ns ns 7 data hold time (inputs) master slave t h(m) t h(s) 100 100 100 100 ns ns 8 access time (time to data active from high- impedance state) slave t a 0 120 0 120 ns 9 disable time (hold time to high-impedance state) slave t dis 240 167 ns 10 data valid (after enable edge)(note 3) t v(s) 240 167 ns 11 data hold time (outputs) (after enable edge) t ho 0?ns 12 rise time (20% v dd to 70% v dd , cl = 200 pf) spi outputs (sck, mosi, and miso) spi inputs (sck, mosi, miso, and ss ) t rm t rs 100 2.0 100 2.0 ns m s 13 fall time (70% v dd to 20% v dd , c l = 200 pf) spi outputs (sck, mosi, and miso) spi inputs (sck, mosi, miso, and ss ) t fm t fs 100 2.0 100 2.0 ns m s
mc68hc11a8 electrical characteristics motorola technical data a-23 a notes: 1. all timing is shown with respect to 20% v dd and 70% v dd , unless otherwise noted. 2. signal production depends on software. 3. assumes 200 pf load on all spi pins. table a-8a serial peripheral interface (spi) timing (mc68l11a8) v dd = 3.0 vdc to 5.5 vdc, v ss = 0 vdc, t a = t l to t h num characteristic symbol 1.0 mhz 2.0 mhz unit min max min max operating frequency master slave f op(m) f op(s ) dc dc 0.5 1.0 dc dc 0.5 2.0 f op mhz 1 cycle time master slave t cyc(m) t cyc(s) 2.0 1000 2.0 500 t cyc ns 2 enable lead time master (note 2) slave t lead(m) t lead(s) 500 250 ns ns 3 enable lag time master (note 2) slave t lag(m) t lag(s) 500 250 ns ns 4 clock (sck) high time master slave t w(sckh)m t w(sckh)s 680 380 340 190 ns ns 5 clock (sck) low time master slave t w(sckl)m t w(sckl)s 680 380 340 190 ns ns 6 data setup time (inputs) master slave t su(m) t su(s) 100 100 100 100 ns ns 7 data hold time (inputs) master slave t h(m) t h(s) 100 100 100 100 ns ns 8 access time (time to data active from high- impedance state) slave t a 0 120 0 120 ns 9 disable time (hold time to high-impedance state) slave t dis 240 240 ns 10 data valid (after enable edge)(note 3) t v(s) 240 240 ns 11 data hold time (outputs) (after enable edge) t ho 0?ns 12 rise time (20% v dd to 70% v dd , cl = 200 pf) spi outputs (sck, mosi, and miso) spi inputs (sck, mosi, miso, and ss ) t rm t rs 100 2.0 100 2.0 ns m s 13 fall time (70% v dd to 20% v dd , c l = 200 pf) spi outputs (sck, mosi, and miso) spi inputs (sck, mosi, miso, and ss ) t fm t fs 100 2.0 100 2.0 ns m s
motorola electrical characteristics mc68hc11a8 a-24 technical data a a) spi master timing (cpha = 0) b) spi master timing (cpha = 1) figure a-15 spi timing diagram (1 of 2) spi master cpha0 tim see note note: this first clock edge is generated internally but is not seen at the sck pin. sck (cpol = 0) (output) sck (cpol = 1) (output) miso (input) mosi (output) ss (input) 1 see note 11 6 7 msb in bit 6 - - - -1 lsb in master msb out master lsb out bit 6 - - - -1 10 12 13 ss is held high on master. 5 4 13 12 11 (ref) 10 (ref) 13 4 5 12 spi master cpha1 tim note: this last clock edge is generated internally but is not seen at the sck pin. 4 5 5 4 1 see note 11 6 7 msb in lsb in master msb out master lsb out bit 6 - - - -1 10 13 12 12 13 sck (cpol = 0) (output) sck (cpol = 1) (output) miso (input) mosi (output) ss (input) ss is held high on master. see note 12 13 bit 6 - - - -1 11 (ref) 10 (ref)
mc68hc11a8 electrical characteristics motorola technical data a-25 a c) spi slave timing (cpha = 0) d) spi slave timing (cpha = 1) figure a-15 spi timing diagrams (2 of 2) spi slave cpha0 tim note: not defined but normally msb of character just received. 4 2 5 5 4 1 8 see note msb out slave slave lsb out 6 7 msb in 10 bit 6 - - - -1 lsb in 11 12 13 3 9 sck (cpol = 0) (input) sck (cpol = 1) (input) miso (output) mosi (input) ss (input) 11 12 13 bit 6 - - - -1 spi slave cpha1 tim note: not defined but normally lsb of character previously transmitted. 4 2 10 6 7 5 5 4 1 8 msb in see note msb out 10 slave bit 6 - - - -1 lsb in slave lsb out 11 13 12 12 13 3 9 sck (cpol = 0) (input) sck (cpol = 1) (input) miso (output) mosi (input) ss (input) bit 6 - - - -1
motorola electrical characteristics mc68hc11a8 a-26 technical data a notes: 1. the rc oscillator (rco) must be enabled (by setting the csel bit in the option register) for eeprom pro- gramming and erasure when the e-clock frequency is below 1.0 mhz. 2. refer to reliability monitor report (current quarterly issue) for current failure rate information. notes: 1. the rc oscillator (rco) must be enabled (by setting the csel bit in the option register) for eeprom pro- gramming and erasure. 2. refer to reliability monitor report (current quarterly issue) for current failure rate information. table a-9 eeprom characteristics v dd = 5.0 vdc 10%, v ss = 0 vdc, t a = t l to t h characteristic temperature range unit ?40 to 85 c 40 to 105 c 40 to 125 c programming time <1.0 mhz, rco enabled (note 1) 1.0 to 2.0 mhz, rco enabled 3 2.0 mhz (or anytime rco enabled) 10 20 10 15 must use rco 15 20 must use rco 20 ms erase time (note 1) byte, row and bulk 10 10 10 ms write/erase endurance (note 2) 10,000 10,000 10,000 cycles data retention (note 2) 10 10 10 years table a-9a eeprom characteristics (mc68l11a8) v dd = 3.0 vdc to 5.5 vdc, v ss = 0 vdc, t a = t l to t h characteristic temperature range unit ?20 to 70 c programming time 3 v, e 2.0 mhz, rco enabled (note 1) 5 v, e 2.0 mhz, rco enabled 25 10 ms erase time (byte, row and bulk) 3 v, e 2.0 mhz, rco enabled (note 1) 5 v, e 2.0 mhz, rco enabled 25 10 ms write/erase endurance (note 2) 10,000 cycles data retention (note 2) 10 years
mc68hc11a8 mechanical data and ordering information motorola technical data b-1 b b mechanical data and ordering information b.1 pin assignments the mc68hc11a8 is available in the 52-pin plastic leaded chip carrier (plcc), the 48- pin dual in-line package (dip), or the 64-pin quad flat pack (qfp). figure b-1 52-pin plcc xtal pc0/a0/d0 pc1/a1/d1 pc2/a2/d2 pc3/a3/d3 pc4/a4/d4 pc5/a5/d5 pc6/a6/d6 pc7/a7/d7 reset xirq irq pd0/rxd a8 52-pin plcc pe4/an4 pe0/an0 pb0/a8 pb1/a9 pb2/a10 pb3/a11 pb4/a12 pb5/a13 pb6/a14 pb7/a15 pa0/ic3 extal strb/r/w e stra/as moda/lir modb/v stby v ss v rh v rl pe7/an7 pe3/an3 pd1/txd pd2/miso pd3/mosi pd4/sck pd5/ss v dd pa7/pai/oc1 pa6/oc2/oc1 pa5/oc3/oc1 pa4/oc4/oc1 pa3/oc5/oc1 8 9 10 11 12 13 14 15 16 17 44 43 42 41 40 39 38 37 36 35 34 21 22 23 24 25 26 27 28 29 30 31 7 6 5 4 3 1 2 52 51 50 49 18 19 pa2/ic1 32 pa1/ic2 33 pe6/an6 48 pe2/an2 47 pe1/an1 45 pe5/an5 46 20
motorola mechanical data and ordering information mc68hc11a8 b-2 technical data b figure b-2 48-pin dip a8 48-pin dip pb7/a15 pb6/a14 pb5/a13 pb4/a12 pb3/a11 pb2/a10 pb1/a9 pb0/a8 pe0/an0 pe1/an1 9 10 11 12 13 14 15 16 17 18 pe2/an2 19 pe3/an3 20 21 v rh 22 v ss 23 modb/v stby 24 pa0/ic3 8 pa1/ic2 7 pa2/ic1 6 pa3/oc5/oc1 5 pa4/oc4/oc1 4 pa5/oc3/oc1 3 pa6/oc2/oc1 2 pa7/pai/oc1 1 pc7/a7/d7 pc6/a6/d6 pc5/a5/d5 pc4/a4/d4 pc3/a3/d3 pc2/a2/d2 pc1/a1/d1 pc0/a0/d0 xtal extal strb/r/w 38 37 36 35 34 33 32 31 30 29 28 reset 39 xirq 40 e 27 stra/as 26 moda/lir 25 irq 41 pd0/rxd 42 pd1/txd 43 pd2/miso 44 pd3/mosi 45 pd4/sck 46 pd5/ss 47 v dd 48 v rl
mc68hc11a8 mechanical data and ordering information motorola technical data b-3 b figure b-3 64-pin qfp b.2 package dimensions the latest versions of case outlines 778-02, 767-02, and 840b-01 can be obtained from our website at http://design-net.com. pa0/ic3 nc nc nc pb7/a15 pb6/a14 pb5/a13 pb4/a12 pb3/a11 pb2/a10 pb1/a9 pb0/a8 pe0/an0 pe4/an4 pe1/an1 pe5/an5 nc pd0/rxd irq xirq nc reset pc7/a7/d7 pc6/a6/d6 pc5/a5/d5 pc3/a3/d3 pc4/a4/d4 pc2/a2/d2 pc1/a1/d1 nc pc0/a0/d0 xtal 1 2 3 4 5 6 7 8 9 10 11 48 47 46 45 44 43 42 41 40 38 39 12 13 14 15 16 37 36 35 34 33 pe2/an2 pe6/an6 pe3/an3 pe7/an7 v rl v rh v ss v ss modb/v stby moda/lir nc stra/as e strb/r/w extal nc 17 18 19 20 21 22 23 24 25 27 26 28 29 30 31 32 pa1/ic2 pa2/ic1 pa3/oc5/oc1 nc nc pa4/oc4/oc1 pa5/oc3/oc1 pa6/oc2/oc1 pa7/pai/oc1 pd5/ss v dd pd4/sck pd3/mosi pd2/miso pd1/txd v ss 64 63 62 61 60 59 58 57 56 54 55 53 52 51 50 49 a8 64-pin qfp
motorola mechanical data and ordering information mc68hc11a8 b-4 technical data b table b-1 ordering information package temperature config description mc order number ?40 to + 85 c $0c no rom, no eeprom mc68hc11a0cfn2 ?40 to + 85 c $0c no rom, no eeprom, 3 mhz mc68hc11a0cfn3 ?40 to + 85 c $0d no rom mc68hc11a1cfn2 ?40 to + 85 c $0d no rom, 3 mhz mc68hc11a1cfn3 ?40 to + 105 c $0d no rom mc68hc11a1vfn2 ?40 to + 125 c $0d no rom mc68hc11a1mfn2 52-pin plcc ?40 to + 85 c $09 no rom, cop on mc68hcp11a1cfn2 ?40 to + 85 c $09 no rom, cop on, 3 mhz mc68hcp11a1cfn3 ?40 to + 105 c $09 no rom, cop on mc68hcp11a1vfn2 ?40 to + 125 c $09 no rom, cop on mc68hcp11a1mfn2 ?40 to + 85 c $0f buffalo rom mc68hc11a8bcfn2 ?40 to + 105 c $0f buffalo rom mc68hc11a8vcfn2 ?40 to + 125 c $0f buffalo rom mc68hc11a8mcfn2 ?40 to + 85 c $0c no rom, no eeprom mc68hc11a0cp2 ?40 to + 85 c $0c no rom, no eeprom, 3 mhz mc68hc11a0cp3 ?40 to + 85 c $0d no rom mc68hc11a1cp2 ?40 to + 85 c $0d no rom, 3 mhz mc68hc11a1cp3 ?40 to + 105 c $0d no rom mc68hc11a1vp2 ?40 to + 125 c $0d no rom mc68hc11a1mp2 48-pin dip ?40 to + 85 c $09 no rom, cop on mc68hcp11a1cp2 ?40 to + 85 c $09 no rom, cop on, 3 mhz mc68hcp11a1cp3 ?40 to + 105 c $09 no rom, cop on mc68hcp11a1vp2 ?40 to + 125 c $09 no rom, cop on mc68hcp11a1mp2 ?40 to + 85 c $0f buffalo rom mc68hc11a8bcp2 ?40 to + 105 c $0f buffalo rom mc68hc11a8bvp2 ?40 to + 125 c $0f buffalo rom MC68HC11A8BMP2 ?40 to + 85 c $0c no rom, no eeprom mc68hc11a0cfu2 ?40 to + 85 c $0c no rom, no eeprom, 3 mhz mc68hc11a0cfu3 ?40 to + 85 c $0d no rom mc68hc11a1cfu2 64-pin qfp ?40 to + 85 c $0d no rom, 3 mhz mc68hc11a1cfu3 ?40 to + 105 c $0d no rom mc68hc11 a1vfu2 ?40 to + 125 c $0d no rom mc68hc11a1mfu2 ?40 to + 85 c $0f buffalo rom mc68hc11a8bcfu2 ?40 to + 105 c $0f buffalo rom mc68hc11a8vcfu2
mc68hc11a8 mechanical data and ordering information motorola technical data b-5 b figure b-4 m68hc11 p/n options hc11 part numbering mc 68 hc p 11xx b c fn 3 r2 mc ?fully specified and qualified numeric designator (optional) xc ?pilot production device pc ?engineering sample cop option (only on a-series devices) none p cop disabled cop enabled operating voltage range hc hcmos (v dd = 5.0 vdc 10%) hcmos (v dd = 3.0 vdc to 5.5 vdc) l base part number 11a8, 11d3, 11e9, 11k4, etc. monitor mask none b blank buffalo temperature range none c 0 c to 70 c ?40 c to 85 c ?40 c to 105 c v ?40 c to 125 c m package type fn fs 44/52/68/84-pin plcc 44/52/68/84-pin clcc 64/80-pin qfp fu maximum specified clock speed 2 2.0 mhz 3.0 mhz 3 4.0 mhz 4 memory type blank 7 masked rom or no rom eprom/otprom 8 eeprom 44-pin qfp fb 112-pin tqfp pv 80/100-pin tqfp pu 52-pin tqfp pb tape and reel option none r2 standard packaging tape and reel packaging 7 qualification level 40/48-pin dip p 48-pin sdip s
motorola mechanical data and ordering information mc68hc11a8 b-6 technical data b
mc68hc11a8 development support motorola technical data c-1 c c development support c.1 m68hc11evb ?evaluation board refer to the m68hc11evb evaluation board user? manual (m68hc11evb/d1). the evaluation board (evb) is a low cost tool for debugging and evaluating m68hc11 mcu-based target system equipment. the evb is designed to operate in either the debugging or evaluation mode of operation. c.1.1 evb features ?a low cost means of debugging user-assembled code and evaluating target sys- tems incorporating m68hc11 mcus ?one-line assembler/disassembler ?host computer downloading capability ?m68hc11 mcu-based debugging/evaluating circuitry ?mc68hc24 port replacement unit (pru)-based mcu l/o expansion circuitry ?mc6850 asynchronous communications interface adaptor (acla)-based termi- nal l/o port circuitry ?rs-232c compatible terminal/host computer l/o ports c.2 m68hc11evbu ?universal evaluation board refer to m68hc11evbu universal evaluation board user? manual (m68hc11evbu/ad1). the evbu is a low cost development tool for debugging and evaluation of mc68hc11a8, e9, 7e9, and 8e2 mcus. the evbu was designed along with a monitor/debugging program called buffalo (bit user fast friendly aid to log- ical operations). this monitor program is contained in mcu rom. the debugging/ evaluation operation allows the user to debug user code under control of the buffa- lo monitor program. c.2.1 evbu features ?a low-cost means of debugging user assembled code and evaluating mc68hc11a8, e9, 7e9, and 8e2 mcu devices ?buffalo monitor in rom or pcbug11 software working through boot mode ?one-line assembler/disassembler ?program downloading capability ?m68hc11-based debugging/evaluating circuitry ?rs-232c compatible terminal l/o port ?wire-wrap area for custom interfacing ?single (+5 vdc) input power source requirements
motorola development support mc68hc11a8 c-2 technical data c c.3 m68hc11evm ?evaluation module refer to m68hc11evm evaluation module user? manual (m68hc11evm/ad7). the evm is a tool for designing, debugging, and evaluation of m68hc11 mcu-based tar- get system equipment. by providing mcu timing and l/o circuitry, the evm simplifies user evaluation of the prototype hardware/software product. the evm requires a user- supplied power supply and an rs-232c compatible terminal for operation. the evm evaluates both single-chip and expanded-multiplexed modes of operation. generat- ing, executing, and debugging target system mcu code is accomplished in either mode. c.3.1 evm features ?low cost means of evaluating target systems with m68hc11 a- and e-series de- vices ?monitor/debugger firmware ?one-line assembler/disassembler ?host computer download capability ?dual 64 kbyte memory maps: ?16 kbyte monitor eprom ?8 kbyte/16 kbyte user pseudo-rom ?eeprom mcu programmer ?mcu (single-chip/expanded-multiplexed mode) extension l/o ports ?rs-232c terminal and host computer l/o ports c.4 mmds11 ?modular development system the m68mmds11 motorola modular development system (mmds11) is an emulator system for developing embedded systems based on an m68hc11 microcontroller unit (mcu). the mmds11 provides a bus state analyzer and real-time memory windows. the unit's integrated development environment includes an editor, an assembler, user interface, and source-level debugging capability. these features significantly reduce the time necessary to develop and debug an embedded control system. the unit's compact size requires a minimum of bench space. the mmds11 is one component of motorola's modular approach to mcu-based product development. this modular ap- proach allows easy configuration of the mmds11 to fit a wide range of requirements. it also reduces development system cost by allowing the user to purchase only the modular components necessary to support the particular mcu device family. the station module is a metal enclosure that contains a printed circuit board (the con- trol board), a test emulator module (tem), and an internal power supply. a power ca- ble, an rs-232 serial cable, two logic clip cables (with clips), and a 9- to 25-pin rs- 232 adapter come with the mmds11. the system requires an ibm-pc (or compatible) host computer. connection to a target system is via a separately purchased m68hc11 emulator module (em) and target cable. the em completes mmds11 functionality for a particular mcu derivative or mcu family. the many ems available let the system emulate a variety of different m68hc11 mcus. connection to a target system is made with a separately purchased cable (with the appropriate connector) which connects the em to the target system. mmds11 features include:
mc68hc11a8 development support motorola technical data c-3 c c.4.1 mmds11features ?real-time, non-intrusive, in-circuit emulation at the mcu's operating frequency ?real-time bus state analyzer ?8k x 64 real-time trace buffer ?display of real-time trace data as raw data, disassembled instructions, raw data and disassembled instructions, or assembly-language source code ?four hardware triggers for commencing trace and to provide breakpoints ?nine triggering modes ?as many as 8190 pre- or post-trigger points for trace data ?16 general-purpose logic clips, four of which can be used to trigger the bus state analyzer sequencer ?16-bit time tag, or an optional 24-bit time tag that reduces the logic clips traced from sixteen to eight ?four data breakpoints (hardware breakpoints) ?hardware instruction breakpoints over either the 64 kbyte m68hc11 memory map, or over a 1mb bank-switched memory map ?thirty-two real-time variables, nine of which can be displayed in the variables win- dow. these variables may be read or written while the mcu is running ?thirty-two bytes of real-time memory can be displayed in the memory window. this memory may be read or written while the mcu is running ?64 kbytes of fast emulation memory (sram) ?target input/output connections are current limited ?six software-selectable oscillator clock sources: five internally generated fre- quencies and an external frequency via a bus analyzer logic clip ?command and response logging to ms dos disk files to save session history ?script command for automatic execution of a sequence of mmds11 com- mands ?assembly or c-language source-level debugging with global variable viewing ?host/emulator communications speeds as high as 57600 baud for quick program loading ?extensive on-line mcu information via the chipinfo command. view memory- map, vectors, register, and pin-out information pertaining to the device being em- ulated ?host software supports ?an editor ?an assembler, user interface, and source-level debugging capability ?bus state analysis ?ibm mouse
motorola development support mc68hc11a8 c-4 technical data c
mc68hc11a8 summary of changes motorola technical data s-1 s summary of changes this is a revision with complete reprint. all known errors in the publication have been corrected. the following summary lists significant changes. references to parts no longer manufactured have been removed throughout the document and are not noted individually. typographical errors which do not effect content have not been noted. section 5 serial communications interface (sci) page 5-10 12 mhz references added to table 5-3 (e = 3 mhz). page 5-11 4800 baud references added to table 5-4. section 8 programmable timer, real time interrupt, and pulse accumulator page 8-8 12 mhz references added to table 8-1. section 9 resets, interrupts, and low power modes page 9-5 12 mhz references added to table 9-1 (e = 3 mhz). appendix a electrical characteristics page a-1 to a-26 appendix a updated to include low-voltage characteristics. appendix b mechanical data and ordering information page b-4 to b-6 case outlines removed. page b-8 figure b-7 has been replaced.
motorola summary of changes mc68hc11a8 s-2 technical data s


▲Up To Search▲   

 
Price & Availability of MC68HC11A8BMP2

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X